home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 12 C64 Telecom / MTXSRC.BIN < prev    next >
Unknown  |  2019-04-13  |  14.8 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was not able to be converted.
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert AMOS Picture Packer (image/amosPicturePacker) ext Supported
1% dexvert Debian floppy split (archive/debianFloppySplit) ext Unsupported
1% dexvert Sound Images sound sample (audio/soundImagesSoundSample) ext Unsupported
1% dexvert DESI-III drawing (image/desiIIIDrawing) ext Unsupported
1% dexvert MS-DOS PMODE extender executable (executable/msdosPMODEExtenderExecutable) ext Unsupported
1% dexvert Alien Trilogytextures (other/alienTrilogyTextures) ext Unsupported
1% dexvert APT cache data (other/aptCacheData) ext Unsupported
1% dexvert Cakewalk Groove (other/cakewalkGroove) ext Unsupported
1% dexvert Comic Book Creator Background (other/comicBookCreatorBackground) ext Unsupported
1% dexvert Comic Book Creator shape Table (other/comicBookCreatorShapeTable) ext Unsupported
1% dexvert CorelTRACE configuration (other/corelTRACEConfiguration) ext Unsupported
1% dexvert Dreamcast Disc (other/dreamcastDisc) ext Unsupported
1% dexvert EST flat binary (other/estFlatBinary) ext Unsupported
1% dexvert Finale Enigma Binary Format (other/finaleEnigmaBinaryFormat) ext Unsupported
1% dexvert Sega Genesis/Megadrive/32x ROM (other/genesisROM) ext Unsupported
1% dexvert Myth: The Fallen Lords game archive (other/mythTheFallenLordsGameArchive) ext Unsupported
1% dexvert Sega Saturn ROM (other/segaSaturnROM) ext Unsupported
1% dexvert Sound Images Sound Driver (other/soundImagesSoundDriver) ext Unsupported
1% dexvert Symantec/Norton Config (other/symantecNortonConfig) ext Unsupported
1% dexvert Vectrex ROM (other/vectrexROM) ext Unsupported
1% dexvert BIS raP encoded format (other/bisraPEncoded) ext Unsupported
1% dexvert Pascal Script binary (other/pascalScriptBinary) ext Unsupported
1% dexvert 7th Level game data archive (other/seventhLevelGameDataArchive) ext Unsupported
1% dexvert Binary Text (image/binaryText) fallback Supported
100% file data default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 70 2a 0d 2a a0 78 6d | 6f 64 65 6d a0 70 72 6f |.p*.*.xm|odem.pro|
|00000010| 74 6f 63 6f 6c a0 76 65 | 72 73 69 6f 6e a0 36 2e |tocol.ve|rsion.6.|
|00000020| 30 0d 2a 0d 2a a0 63 6f | 6d 6d 6f 64 6f 72 65 a0 |0.*.*.co|mmodore.|
|00000030| 36 34 0d 2a 0d 2a a0 74 | 68 69 73 a0 76 65 72 73 |64.*.*.t|his.vers|
|00000040| 69 6f 6e a0 75 73 65 73 | a0 66 69 6c 65 6e 61 6d |ion.uses|.filenam|
|00000050| 65 0d 2a a0 73 75 70 70 | 6c 69 65 64 a0 62 79 a0 |e.*.supp|lied.by.|
|00000060| 63 61 6c 6c 69 6e 67 a0 | 70 72 6f 67 72 61 6d 0d |calling.|program.|
|00000070| 2a a0 77 69 74 68 a0 63 | 6f 6e 73 74 72 75 63 74 |*.with.c|onstruct|
|00000080| 3a 0d 2a 0d 2a a0 a0 a0 | a0 a0 61 24 3d 22 66 69 |:.*.*...|..a$="fi|
|00000090| 6c 65 6e 61 6d 65 22 2b | 63 68 72 24 28 31 33 29 |lename"+|chr$(13)|
|000000a0| 0d 2a a0 a0 a0 a0 a0 73 | 79 73 a0 34 39 31 35 32 |.*.....s|ys.49152|
|000000b0| 2c 61 0d 2a 0d 2a a0 a0 | a0 a0 a0 77 48 45 52 45 |,a.*.*..|...wHERE|
|000000c0| a0 61 a0 3d a0 a0 30 a0 | a0 a0 69 47 4e 4f 52 45 |.a.=..0.|..iGNORE|
|000000d0| a0 43 41 52 52 49 45 52 | a0 44 45 54 45 43 54 0d |.CARRIER|.DETECT.|
|000000e0| 2a a0 a0 a0 a0 a0 a0 a0 | a0 a0 a0 a0 61 a0 3d a0 |*.......|....a.=.|
|000000f0| 31 36 a0 a0 a0 63 48 45 | 43 4b a0 46 4f 52 a0 43 |16...cHE|CK.FOR.C|
|00000100| 41 52 52 49 45 52 a0 44 | 45 54 45 43 54 0d 2a 0d |ARRIER.D|ETECT.*.|
|00000110| 2a a0 6e 6f 74 65 3a a0 | 73 45 54 54 49 4e 47 a0 |*.note:.|sETTING.|
|00000120| 61 24 a0 2a 6d 75 73 74 | 2a a0 42 45 a0 4a 55 53 |a$.*must|*.BE.JUS|
|00000130| 54 a0 42 45 46 4f 52 45 | a0 73 79 73 34 39 31 35 |T.BEFORE|.sys4915|
|00000140| 32 0d 2a a0 a0 a0 a0 a0 | a0 a0 57 49 54 48 a0 4e |2.*.....|..WITH.N|
|00000150| 4f a0 49 4e 54 45 52 56 | 45 4e 49 4e 47 a0 53 54 |O.INTERV|ENING.ST|
|00000160| 52 49 4e 47 a0 4f 50 45 | 52 41 54 49 4f 4e 53 21 |RING.OPE|RATIONS!|
|00000170| 0d 2a 0d 2a a0 63 6f 70 | 79 72 69 67 68 74 a0 28 |.*.*.cop|yright.(|
|00000180| 63 29 a0 31 39 38 36 a0 | 62 79 0d 2a a0 6d 69 63 |c).1986.|by.*.mic|
|00000190| 72 6f 74 65 63 68 6e 69 | 63 a0 73 6f 6c 75 74 69 |rotechni|c.soluti|
|000001a0| 6f 6e 73 2c a0 69 6e 63 | 2e 0d 2a a0 61 6c 6c a0 |ons,.inc|..*.all.|
|000001b0| 72 69 67 68 74 73 a0 72 | 65 73 65 72 76 65 64 0d |rights.r|eserved.|
|000001c0| 2a 0d 2a a0 74 68 69 73 | a0 76 65 72 73 69 6f 6e |*.*.this|.version|
|000001d0| a0 72 65 6c 65 61 73 65 | 64 a0 74 6f a0 70 75 62 |.release|d.to.pub|
|000001e0| 6c 69 63 a0 64 6f 6d 61 | 69 6e 0d 2a 0d 20 74 72 |lic.doma|in.*. tr|
|000001f0| 20 6f 6e 20 3b 54 52 55 | 4e 43 41 54 49 4f 4e a0 | on ;TRU|NCATION.|
|00000200| 4f 4e a0 28 6d 65 72 6c | 69 6e 29 0d 20 6f 72 67 |ON.(merl|in). org|
|00000210| 20 24 63 30 30 30 0d 2a | 0d 63 68 6b 69 6e 20 3d | $c000.*|.chkin =|
|00000220| 20 24 66 66 63 36 0d 63 | 68 6b 6f 75 74 20 3d 20 | $ffc6.c|hkout = |
|00000230| 24 66 66 63 39 0d 63 68 | 72 6f 75 74 20 3d 20 24 |$ffc9.ch|rout = $|
|00000240| 66 66 64 32 0d 63 6c 6f | 73 65 20 3d 20 24 66 66 |ffd2.clo|se = $ff|
|00000250| 63 33 0d 63 6c 72 63 68 | 6e 20 3d 20 24 66 66 63 |c3.clrch|n = $ffc|
|00000260| 63 0d 67 65 74 69 6e 20 | 3d 20 24 66 66 65 34 0d |c.getin |= $ffe4.|
|00000270| 6f 70 65 6e 20 3d 20 24 | 66 66 63 30 0d 72 65 61 |open = $|ffc0.rea|
|00000280| 64 73 73 20 3d 20 24 66 | 66 62 37 0d 73 74 6f 70 |dss = $f|fb7.stop|
|00000290| 20 3d 20 24 66 66 65 31 | 0d 73 65 74 6c 66 73 20 | = $ffe1|.setlfs |
|000002a0| 3d 20 24 66 66 62 61 0d | 73 65 74 6e 61 6d 20 3d |= $ffba.|setnam =|
|000002b0| 20 24 66 66 62 64 0d 73 | 6f 68 20 3d 20 31 0d 61 | $ffbd.s|oh = 1.a|
|000002c0| 63 6b 20 3d 20 36 0d 6e | 61 6b 20 3d 20 32 31 0d |ck = 6.n|ak = 21.|
|000002d0| 65 6f 74 20 3d 20 34 0d | 63 61 6e 20 3d 20 32 34 |eot = 4.|can = 24|
|000002e0| 0d 76 61 72 70 6e 74 20 | 3d 20 24 34 37 0d 6a 69 |.varpnt |= $47.ji|
|000002f0| 66 66 79 20 3d 20 24 61 | 31 0d 6d 6f 76 65 20 3d |ffy = $a|1.move =|
|00000300| 20 24 63 33 0d 72 69 64 | 62 65 20 3d 20 24 30 32 | $c3.rid|be = $02|
|00000310| 39 62 0d 72 69 64 62 73 | 20 3d 20 24 30 32 39 63 |9b.ridbs| = $029c|
|00000320| 0d 65 6e 61 62 6c 65 20 | 3d 20 24 30 32 61 31 0d |.enable |= $02a1.|
|00000330| 78 6d 6f 62 6c 6b 20 3d | 20 24 63 37 30 30 0d 62 |xmoblk =| $c700.b|
|00000340| 6c 6f 63 6b 20 3d 20 24 | 63 38 30 30 0d 62 6c 6e |lock = $|c800.bln|
|00000350| 20 3d 20 24 63 38 30 30 | 0d 62 6c 6f 20 3d 20 24 | = $c800|.blo = $|
|00000360| 63 38 30 31 0d 62 6c 63 | 6b 31 20 3d 20 24 63 38 |c801.blc|k1 = $c8|
|00000370| 30 32 0d 62 6c 64 61 74 | 61 20 3d 20 24 63 38 30 |02.bldat|a = $c80|
|00000380| 33 0d 62 6c 63 68 20 3d | 20 24 63 38 38 33 0d 64 |3.blch =| $c883.d|
|00000390| 70 6f 72 74 62 20 3d 20 | 24 64 64 30 31 0d 20 6a |portb = |$dd01. j|
|000003a0| 6d 70 20 78 6d 6f 64 65 | 6d 0d 64 72 76 64 65 76 |mp xmode|m.drvdev|
|000003b0| 20 64 66 62 20 38 0d 72 | 63 76 63 68 72 20 64 66 | dfb 8.r|cvchr df|
|000003c0| 62 20 30 0d 72 73 74 61 | 74 20 64 66 62 20 30 0d |b 0.rsta|t dfb 0.|
|000003d0| 63 61 72 72 69 65 72 20 | 64 66 62 20 30 0d 74 65 |carrier |dfb 0.te|
|000003e0| 6d 70 78 20 64 66 62 20 | 30 0d 66 78 6d 6f 20 64 |mpx dfb |0.fxmo d|
|000003f0| 66 62 20 30 0d 78 6d 6f | 73 7a 20 64 66 62 20 31 |fb 0.xmo|sz dfb 1|
|00000400| 32 38 0d 6c 73 74 62 6c | 6b 20 64 66 62 20 30 0d |28.lstbl|k dfb 0.|
|00000410| 70 61 64 63 68 72 20 64 | 66 62 20 30 0d 65 72 72 |padchr d|fb 0.err|
|00000420| 20 64 66 62 20 30 0d 62 | 6c 6b 6e 75 6d 20 64 66 | dfb 0.b|lknum df|
|00000430| 62 20 30 0d 63 68 72 63 | 6e 74 20 64 66 62 20 30 |b 0.chrc|nt dfb 0|
|00000440| 0d 63 6b 73 75 6d 20 64 | 66 62 20 30 0d 63 69 73 |.cksum d|fb 0.cis|
|00000450| 66 6d 74 20 64 66 62 20 | 34 2c 30 2c 36 37 2c 36 |fmt dfb |4,0,67,6|
|00000460| 37 2c 35 31 0d 65 62 75 | 66 78 20 64 66 62 20 30 |7,51.ebu|fx dfb 0|
|00000470| 0d 74 72 6f 6e 20 64 66 | 62 20 31 32 38 0d 74 62 |.tron df|b 128.tb|
|00000480| 63 6f 75 6e 74 20 64 61 | 20 24 30 30 30 30 0d 64 |count da| $0000.d|
|00000490| 73 6b 64 69 72 20 64 66 | 62 20 33 32 0d 74 6d 70 |skdir df|b 32.tmp|
|000004a0| 32 78 20 64 66 62 20 30 | 0d 66 62 75 66 20 64 73 |2x dfb 0|.fbuf ds|
|000004b0| 20 38 30 0d 62 75 66 20 | 64 73 20 38 30 0d 70 6c | 80.buf |ds 80.pl|
|000004c0| 79 20 64 61 20 24 31 30 | 32 31 0d 63 72 63 64 61 |y da $10|21.crcda|
|000004d0| 74 61 20 64 66 62 20 30 | 0d 78 6d 6f 64 65 20 64 |ta dfb 0|.xmode d|
|000004e0| 66 62 20 30 0d 63 74 72 | 79 73 20 64 66 62 20 33 |fb 0.ctr|ys dfb 3|
|000004f0| 0d 78 62 6c 73 7a 20 64 | 66 62 20 31 33 32 0d 63 |.xblsz d|fb 132.c|
|00000500| 72 63 20 64 61 20 30 0d | 78 6d 6f 64 65 6d 20 61 |rc da 0.|xmodem a|
|00000510| 6e 64 20 23 31 36 20 3b | 43 41 52 52 49 45 52 a0 |nd #16 ;|CARRIER.|
|00000520| 52 45 51 55 45 53 54 a0 | 31 36 a0 4f 52 a0 30 0d |REQUEST.|16.OR.0.|
|00000530| 20 73 74 61 20 63 61 72 | 72 69 65 72 20 3b 53 41 | sta car|rier ;SA|
|00000540| 56 45 a0 43 41 52 52 49 | 45 52 a0 52 45 51 55 45 |VE.CARRI|ER.REQUE|
|00000550| 53 54 0d 20 6c 64 79 20 | 23 31 20 3b 47 45 54 a0 |ST. ldy |#1 ;GET.|
|00000560| 54 48 45 a0 50 4f 49 4e | 54 45 52 a0 54 4f 0d 20 |THE.POIN|TER.TO. |
|00000570| 6c 64 61 20 28 76 61 72 | 70 6e 74 29 2c 79 20 3b |lda (var|pnt),y ;|
|00000580| 54 48 45 a0 4c 41 53 54 | a0 53 54 52 49 4e 47 a0 |THE.LAST|.STRING.|
|00000590| 56 41 52 49 41 42 4c 45 | 0d 20 73 74 61 20 6d 6f |VARIABLE|. sta mo|
|000005a0| 76 65 20 3b 52 45 46 45 | 52 45 4e 43 45 44 a0 42 |ve ;REFE|RENCED.B|
|000005b0| 59 a0 54 48 45 0d 20 69 | 6e 79 20 20 3b 43 41 4c |Y.THE. i|ny ;CAL|
|000005c0| 4c 49 4e 47 a0 62 41 53 | 49 43 a0 50 52 4f 47 52 |LING.bAS|IC.PROGR|
|000005d0| 41 4d 0d 20 6c 64 61 20 | 28 76 61 72 70 6e 74 29 |AM. lda |(varpnt)|
|000005e0| 2c 79 0d 20 73 74 61 20 | 6d 6f 76 65 2b 31 0d 20 |,y. sta |move+1. |
|000005f0| 63 6c 63 0d 20 6c 64 61 | 20 6d 6f 76 65 0d 20 61 |clc. lda| move. a|
|00000600| 64 63 20 23 31 0d 20 73 | 74 61 20 6d 6f 76 65 0d |dc #1. s|ta move.|
|00000610| 20 6c 64 61 20 6d 6f 76 | 65 2b 31 0d 20 61 64 63 | lda mov|e+1. adc|
|00000620| 20 23 30 0d 20 73 74 61 | 20 6d 6f 76 65 2b 31 0d | #0. sta| move+1.|
|00000630| 20 6c 64 79 20 23 30 0d | 20 6c 64 78 20 23 30 0d | ldy #0.| ldx #0.|
|00000640| 5d 6a 6c 6f 6f 70 20 6c | 64 61 20 28 6d 6f 76 65 |]jloop l|da (move|
|00000650| 29 2c 79 20 3b 4d 4f 56 | 45 a0 54 48 45 a0 46 49 |),y ;MOV|E.THE.FI|
|00000660| 4c 45 4e 41 4d 45 a0 49 | 4e 54 4f 0d 20 63 6d 70 |LENAME.I|NTO. cmp|
|00000670| 20 23 31 33 20 3b 46 49 | 4c 45 4e 41 4d 45 a0 42 | #13 ;FI|LENAME.B|
|00000680| 55 46 46 45 52 0d 20 62 | 65 71 20 78 6d 64 30 34 |UFFER. b|eq xmd04|
|00000690| 0d 20 73 74 61 20 66 62 | 75 66 2c 78 0d 20 69 6e |. sta fb|uf,x. in|
|000006a0| 78 0d 20 69 6e 79 0d 20 | 62 6e 65 20 5d 6a 6c 6f |x. iny. |bne ]jlo|
|000006b0| 6f 70 0d 78 6d 64 30 34 | 20 73 74 79 20 74 65 6d |op.xmd04| sty tem|
|000006c0| 70 78 0d 20 6c 64 78 20 | 74 65 6d 70 78 0d 20 64 |px. ldx |tempx. d|
|000006d0| 65 78 0d 20 6c 64 61 20 | 23 30 20 3b 44 45 46 41 |ex. lda |#0 ;DEFA|
|000006e0| 55 4c 54 a0 49 53 a0 54 | 52 41 4e 53 4c 41 54 49 |ULT.IS.T|RANSLATI|
|000006f0| 4f 4e a0 4f 46 46 0d 20 | 73 74 61 20 74 72 6f 6e |ON.OFF. |sta tron|
|00000700| 0d 20 6c 64 61 20 66 62 | 75 66 2c 78 0d 20 73 74 |. lda fb|uf,x. st|
|00000710| 61 20 74 6d 70 32 78 0d | 20 63 6d 70 20 23 27 54 |a tmp2x.| cmp #'T|
|00000720| 27 20 3b 43 48 45 43 4b | a0 49 46 a0 4c 41 53 54 |' ;CHECK|.IF.LAST|
|00000730| a0 45 4e 54 52 59 a0 49 | 4e 0d 20 62 6e 65 20 78 |.ENTRY.I|N. bne x|
|00000740| 6d 64 30 35 62 20 3b 46 | 49 4c 45 4e 41 4d 45 a0 |md05b ;F|ILENAME.|
|00000750| 49 53 a0 54 52 41 4e 53 | 4c 41 54 45 0d 20 64 65 |IS.TRANS|LATE. de|
|00000760| 78 20 20 3b 53 50 45 43 | 49 46 49 45 52 a0 54 4f |x ;SPEC|IFIER.TO|
|00000770| a0 41 44 4a 55 53 54 a0 | 46 4f 52 0d 20 64 65 78 |.ADJUST.|FOR. dex|
|00000780| 20 20 3b 46 49 4e 44 49 | 4e 47 a0 55 50 2f 44 4f | ;FINDI|NG.UP/DO|
|00000790| 57 4e 0d 20 6c 64 61 20 | 66 62 75 66 2c 78 20 3b |WN. lda |fbuf,x ;|
|000007a0| 53 50 45 43 49 46 49 45 | 52 0d 78 6d 64 30 35 62 |SPECIFIE|R.xmd05b|
|000007b0| 20 73 74 61 20 64 73 6b | 64 69 72 0d 20 63 6d 70 | sta dsk|dir. cmp|
|000007c0| 20 23 27 52 27 20 3b 49 | 53 a0 44 49 52 45 43 54 | #'R' ;I|S.DIRECT|
|000007d0| 49 4f 4e a0 53 50 45 43 | 49 46 45 52 a0 41 0d 20 |ION.SPEC|IFER.A. |
|000007e0| 62 65 71 20 78 6d 64 30 | 35 63 20 3b 41 a0 56 41 |beq xmd0|5c ;A.VA|
|000007f0| 4c 49 44 a0 45 4e 54 52 | 59 3f 0d 20 63 6d 70 20 |LID.ENTR|Y?. cmp |
|00000800| 23 27 57 27 0d 20 62 6e | 65 20 78 6d 64 30 35 61 |#'W'. bn|e xmd05a|
|00000810| 0d 78 6d 64 30 35 63 20 | 64 65 78 0d 20 6c 64 61 |.xmd05c |dex. lda|
|00000820| 20 23 27 2c 27 20 3b 43 | 48 45 43 4b a0 46 4f 52 | #',' ;C|HECK.FOR|
|00000830| a0 49 4e 54 45 52 56 45 | 4e 49 4e 47 a0 43 4f 4d |.INTERVE|NING.COM|
|00000840| 4d 41 0d 20 63 6d 70 20 | 66 62 75 66 2c 78 0d 20 |MA. cmp |fbuf,x. |
|00000850| 62 65 71 20 78 6d 64 30 | 31 61 0d 78 6d 64 30 35 |beq xmd0|1a.xmd05|
|00000860| 61 20 6c 64 61 20 23 36 | 20 3b 55 53 45 52 a0 4d |a lda #6| ;USER.M|
|00000870| 41 44 45 a0 41 4e a0 45 | 52 52 4f 52 a0 49 4e 0d |ADE.AN.E|RROR.IN.|
|00000880| 20 6a 73 72 20 6f 75 74 | 6d 73 67 20 3b 46 49 4c | jsr out|msg ;FIL|
|00000890| 45 4e 41 4d 45 a0 53 50 | 45 43 49 46 49 43 41 54 |ENAME.SP|ECIFICAT|
|000008a0| 49 4f 4e 0d 20 6a 73 72 | 20 77 61 69 74 74 77 6f |ION. jsr| waittwo|
|000008b0| 20 3b 54 45 4c 4c a0 48 | 49 4d a0 41 4e 44 a0 54 | ;TELL.H|IM.AND.T|
|000008c0| 48 45 4e a0 45 58 49 54 | 0d 20 6a 73 72 20 78 6d |HEN.EXIT|. jsr xm|
|000008d0| 64 31 39 0d 78 6d 64 30 | 31 61 20 64 65 78 0d 20 |d19.xmd0|1a dex. |
|000008e0| 70 68 61 0d 20 6c 64 61 | 20 66 62 75 66 2c 78 20 |pha. lda| fbuf,x |
|000008f0| 3b 4e 4f 57 a0 4c 45 54 | a0 55 53 a0 4d 41 4b 45 |;NOW.LET|.US.MAKE|
|00000900| a0 53 55 52 45 a0 48 45 | 0d 20 63 6d 70 20 23 27 |.SURE.HE|. cmp #'|
|00000910| 55 27 20 3b 53 50 45 43 | 49 46 49 45 44 a0 41 a0 |U' ;SPEC|IFIED.A.|
|00000920| 56 41 4c 49 44 0d 20 62 | 65 71 20 78 6d 64 30 31 |VALID. b|eq xmd01|
|00000930| 7a 20 3b 46 49 4c 45 a0 | 54 59 50 45 0d 20 63 6d |z ;FILE.|TYPE. cm|
|00000940| 70 20 23 27 50 27 20 3b | 57 45 a0 57 49 4c 4c a0 |p #'P' ;|WE.WILL.|
|00000950| 41 43 43 45 50 54 a0 55 | a0 50 a0 4f 52 a0 53 0d |ACCEPT.U|.P.OR.S.|
|00000960| 20 62 65 71 20 78 6d 64 | 30 31 7a 0d 20 63 6d 70 | beq xmd|01z. cmp|
|00000970| 20 23 27 53 27 0d 20 62 | 65 71 20 78 6d 64 30 31 | #'S'. b|eq xmd01|
|00000980| 79 0d 20 70 6c 61 0d 20 | 6a 6d 70 20 78 6d 64 30 |y. pla. |jmp xmd0|
|00000990| 35 61 0d 78 6d 64 30 31 | 79 20 6c 64 61 20 23 27 |5a.xmd01|y lda #'|
|000009a0| 54 27 20 3b 47 4f 54 a0 | 42 59 a0 53 59 4e 54 41 |T' ;GOT.|BY.SYNTA|
|000009b0| 58 a0 43 48 45 43 4b 0d | 20 63 6d 70 20 74 6d 70 |X.CHECK.| cmp tmp|
|000009c0| 32 78 20 3b 4e 4f 57 a0 | 43 48 45 43 4b a0 46 4f |2x ;NOW.|CHECK.FO|
|000009d0| 52 a0 54 52 41 4e 53 4c | 41 54 45 0d 20 62 6e 65 |R.TRANSL|ATE. bne|
|000009e0| 20 78 6d 64 30 31 7a 20 | 3b 4f 4e 4c 59 a0 49 46 | xmd01z |;ONLY.IF|
|000009f0| a0 41 a0 53 45 51 55 45 | 4e 54 49 41 4c 0d 20 6c |.A.SEQUE|NTIAL. l|
|00000a00| 64 61 20 23 31 32 38 20 | 3b 46 49 4c 45 0d 20 73 |da #128 |;FILE. s|
|00000a10| 74 61 20 74 72 6f 6e 0d | 78 6d 64 30 31 7a 20 70 |ta tron.|xmd01z p|
|00000a20| 6c 61 0d 20 64 65 78 0d | 20 63 6d 70 20 66 62 75 |la. dex.| cmp fbu|
|00000a30| 66 2c 78 0d 20 62 6e 65 | 20 78 6d 64 30 35 61 0d |f,x. bne| xmd05a.|
|00000a40| 20 6c 64 61 20 74 65 6d | 70 78 20 3b 57 48 45 57 | lda tem|px ;WHEW|
|00000a50| 21 a0 4e 4f 57 a0 57 45 | a0 46 49 4e 41 4c 4c 59 |!.NOW.WE|.FINALLY|
|00000a60| a0 47 45 54 0d 20 6c 64 | 78 20 23 3c 66 62 75 66 |.GET. ld|x #<fbuf|
|00000a70| 20 3b 54 4f a0 4f 50 45 | 4e a0 54 48 45 a0 44 49 | ;TO.OPE|N.THE.DI|
|00000a80| 53 4b a0 46 49 4c 45 0d | 20 6c 64 79 20 23 3e 66 |SK.FILE.| ldy #>f|
|00000a90| 62 75 66 0d 20 6a 73 72 | 20 73 65 74 6e 61 6d 0d |buf. jsr| setnam.|
|00000aa0| 20 6c 64 61 20 23 38 0d | 20 6a 73 72 20 6f 70 65 | lda #8.| jsr ope|
|00000ab0| 6e 64 6b 0d 20 6a 73 72 | 20 65 72 72 63 68 6e 20 |ndk. jsr| errchn |
|00000ac0| 3b 45 52 52 4f 52 a0 4f | 4e a0 4f 50 45 4e 3f 0d |;ERROR.O|N.OPEN?.|
|00000ad0| 20 62 65 71 20 78 6d 64 | 30 31 64 20 3b 59 45 53 | beq xmd|01d ;YES|
|00000ae0| a0 2d a0 45 58 49 54 0d | 20 6a 73 72 20 78 6d 64 |.-.EXIT.| jsr xmd|
|00000af0| 31 38 0d 78 6d 64 30 31 | 64 20 6c 64 61 20 23 32 |18.xmd01|d lda #2|
|00000b00| 0d 20 6a 73 72 20 6f 75 | 74 6d 73 67 0d 20 6c 64 |. jsr ou|tmsg. ld|
|00000b10| 61 20 23 33 0d 20 73 74 | 61 20 63 74 72 79 73 0d |a #3. st|a ctrys.|
|00000b20| 20 6c 64 61 20 64 73 6b | 64 69 72 0d 20 63 6d 70 | lda dsk|dir. cmp|
|00000b30| 20 23 27 52 27 20 3b 4a | 55 4d 50 a0 54 4f a0 55 | #'R' ;J|UMP.TO.U|
|00000b40| 50 4c 4f 41 44 a0 4f 52 | a0 44 4f 57 4e 4c 4f 41 |PLOAD.OR|.DOWNLOA|
|00000b50| 44 0d 20 62 6e 65 20 78 | 6d 64 30 36 20 3b 44 45 |D. bne x|md06 ;DE|
|00000b60| 50 45 4e 44 49 4e 47 a0 | 4f 4e a0 44 49 52 45 43 |PENDING.|ON.DIREC|
|00000b70| 54 49 4f 4e 0d 20 6a 6d | 70 20 78 6d 64 33 30 20 |TION. jm|p xmd30 |
|00000b80| 3b 53 50 45 43 49 46 49 | 45 44 0d 2a 0d 2a a0 72 |;SPECIFI|ED.*.*.r|
|00000b90| 65 63 65 69 76 65 a0 66 | 69 6c 65 0d 2a 0d 78 6d |eceive.f|ile.*.xm|
|00000ba0| 64 30 36 20 6c 64 61 20 | 23 30 20 3b 49 4e 49 54 |d06 lda |#0 ;INIT|
|00000bb0| 49 41 4c 49 5a 45 a0 45 | 56 45 52 59 42 4f 44 59 |IALIZE.E|VERYBODY|
|00000bc0| 0d 20 73 74 61 20 66 78 | 6d 6f 0d 20 73 74 61 20 |. sta fx|mo. sta |
|00000bd0| 78 6d 6f 64 65 0d 20 73 | 74 61 20 6c 73 74 62 6c |xmode. s|ta lstbl|
|00000be0| 6b 0d 20 73 74 61 20 74 | 62 63 6f 75 6e 74 0d 20 |k. sta t|bcount. |
|00000bf0| 73 74 61 20 74 62 63 6f | 75 6e 74 2b 31 0d 20 73 |sta tbco|unt+1. s|
|00000c00| 74 61 20 62 6c 6b 6e 75 | 6d 0d 20 6a 73 72 20 73 |ta blknu|m. jsr s|
|00000c10| 65 74 7a 65 72 6f 0d 20 | 6a 73 72 20 78 6d 64 36 |etzero. |jsr xmd6|
|00000c20| 30 20 3b 47 45 54 a0 54 | 48 49 4e 47 53 a0 52 4f |0 ;GET.T|HINGS.RO|
|00000c30| 4c 4c 49 4e 47 0d 20 6c | 64 61 20 23 31 32 38 20 |LLING. l|da #128 |
|00000c40| 3b 4e 4f 52 4d 41 4c a0 | 44 41 54 41 a0 42 4c 4f |;NORMAL.|DATA.BLO|
|00000c50| 43 4b a0 53 49 5a 45 0d | 20 73 74 61 20 78 6d 6f |CK.SIZE.| sta xmo|
|00000c60| 73 7a 0d 20 6c 64 61 20 | 23 31 33 32 0d 20 73 74 |sz. lda |#132. st|
|00000c70| 61 20 78 62 6c 73 7a 0d | 20 62 69 74 20 78 6d 6f |a xblsz.| bit xmo|
|00000c80| 64 65 20 3b 43 48 45 43 | 4b 53 55 4d a0 4f 52 a0 |de ;CHEC|KSUM.OR.|
|00000c90| 43 52 43 3f 0d 20 62 6d | 69 20 78 6d 64 31 30 20 |CRC?. bm|i xmd10 |
|00000ca0| 3b 43 52 43 0d 78 6d 64 | 30 36 61 20 6c 64 61 20 |;CRC.xmd|06a lda |
|00000cb0| 64 70 6f 72 74 62 20 3b | 44 4f a0 57 45 a0 53 54 |dportb ;|DO.WE.ST|
|00000cc0| 49 4c 4c a0 48 41 56 45 | a0 43 41 52 52 49 45 52 |ILL.HAVE|.CARRIER|
|00000cd0| 3f 0d 20 61 6e 64 20 63 | 61 72 72 69 65 72 0d 20 |?. and c|arrier. |
|00000ce0| 62 65 71 20 78 6d 64 30 | 36 61 31 0d 20 6a 73 72 |beq xmd0|6a1. jsr|
|00000cf0| 20 78 6d 64 32 38 20 3b | 47 45 54 a0 56 45 52 49 | xmd28 ;|GET.VERI|
|00000d00| 46 49 43 41 54 49 4f 4e | a0 54 4f a0 41 42 4f 52 |FICATION|.TO.ABOR|
|00000d10| 54 0d 20 62 65 71 20 78 | 6d 64 30 36 61 0d 78 6d |T. beq x|md06a.xm|
|00000d20| 64 30 36 61 31 20 6a 73 | 72 20 73 65 74 7a 65 72 |d06a1 js|r setzer|
|00000d30| 6f 0d 78 6d 64 30 37 20 | 6a 73 72 20 67 74 78 6d |o.xmd07 |jsr gtxm|
|00000d40| 64 6d 20 3b 47 4f a0 47 | 45 54 a0 41 a0 4d 4f 44 |dm ;GO.G|ET.A.MOD|
|00000d50| 45 4d a0 43 48 41 52 41 | 43 54 45 52 0d 20 6c 64 |EM.CHARA|CTER. ld|
|00000d60| 61 20 64 70 6f 72 74 62 | 20 3b 53 54 49 4c 4c a0 |a dportb| ;STILL.|
|00000d70| 43 48 45 43 4b 49 4e 47 | a0 54 4f a0 53 45 45 a0 |CHECKING|.TO.SEE.|
|00000d80| 49 46 0d 20 61 6e 64 20 | 63 61 72 72 69 65 72 20 |IF. and |carrier |
|00000d90| 3b 43 41 52 52 49 45 52 | a0 50 52 45 53 45 4e 54 |;CARRIER|.PRESENT|
|00000da0| 0d 20 62 65 71 20 78 6d | 64 30 37 61 31 0d 20 6a |. beq xm|d07a1. j|
|00000db0| 73 72 20 78 6d 64 32 38 | 0d 20 62 65 71 20 78 6d |sr xmd28|. beq xm|
|00000dc0| 64 30 37 0d 78 6d 64 30 | 37 61 31 20 6c 64 61 20 |d07.xmd0|7a1 lda |
|00000dd0| 63 68 72 63 6e 74 0d 20 | 62 6e 65 20 78 6d 64 31 |chrcnt. |bne xmd1|
|00000de0| 30 0d 20 6c 64 61 20 72 | 63 76 63 68 72 20 3b 4c |0. lda r|cvchr ;L|
|00000df0| 4f 4f 4b a0 46 4f 52 a0 | 45 4e 44 a0 4f 46 a0 54 |OOK.FOR.|END.OF.T|
|00000e00| 52 41 4e 53 46 45 52 a0 | 41 53 0d 20 63 6d 70 20 |RANSFER.|AS. cmp |
|00000e10| 23 65 6f 74 20 3b 46 49 | 52 53 54 a0 42 59 54 45 |#eot ;FI|RST.BYTE|
|00000e20| a0 4f 46 a0 42 4c 4f 43 | 4b 0d 20 62 6e 65 20 78 |.OF.BLOC|K. bne x|
|00000e30| 6d 64 30 37 61 0d 20 6a | 6d 70 20 78 6d 64 34 32 |md07a. j|mp xmd42|
|00000e40| 0d 78 6d 64 30 37 61 20 | 63 6d 70 20 23 63 61 6e |.xmd07a |cmp #can|
|00000e50| 20 3b 43 48 45 43 4b a0 | 46 4f 52 a0 55 53 45 52 | ;CHECK.|FOR.USER|
|00000e60| a0 43 41 4e 43 45 4c 0d | 20 62 6e 65 20 78 6d 64 |.CANCEL.| bne xmd|
|00000e70| 30 37 62 0d 20 6a 73 72 | 20 78 6d 64 31 39 0d 78 |07b. jsr| xmd19.x|
|00000e80| 6d 64 30 37 62 20 63 6d | 70 20 23 73 6f 68 0d 20 |md07b cm|p #soh. |
|00000e90| 62 6e 65 20 78 6d 64 30 | 37 0d 78 6d 64 31 30 20 |bne xmd0|7.xmd10 |
|00000ea0| 6a 73 72 20 63 68 6b 61 | 64 64 20 3b 41 44 44 a0 |jsr chka|dd ;ADD.|
|00000eb0| 54 48 45 a0 44 41 54 41 | a0 42 59 54 45 a0 54 4f |THE.DATA|.BYTE.TO|
|00000ec0| a0 43 48 45 43 4b 53 55 | 4d 0d 20 63 6d 70 20 78 |.CHECKSU|M. cmp x|
|00000ed0| 62 6c 73 7a 20 3b 49 53 | a0 54 48 49 53 a0 45 4e |blsz ;IS|.THIS.EN|
|00000ee0| 44 a0 4f 46 a0 54 48 49 | 53 a0 42 4c 4f 43 4b 3f |D.OF.THI|S.BLOCK?|
|00000ef0| 0d 20 62 6e 65 20 78 6d | 64 30 37 20 3b 4e 4f a0 |. bne xm|d07 ;NO.|
|00000f00| 2d a0 47 45 54 a0 4e 45 | 58 54 a0 43 48 41 52 41 |-.GET.NE|XT.CHARA|
|00000f10| 43 54 45 52 0d 20 6c 64 | 61 20 62 6c 6f 20 3b 59 |CTER. ld|a blo ;Y|
|00000f20| 45 53 a0 2d a0 43 48 45 | 43 4b a0 42 4c 4f 43 4b |ES.-.CHE|CK.BLOCK|
|00000f30| a0 4e 55 4d 42 45 52 0d | 20 63 6c 63 20 20 3b 57 |.NUMBER.| clc ;W|
|00000f40| 49 54 48 a0 43 4f 4d 50 | 4c 45 4d 45 4e 54 0d 20 |ITH.COMP|LEMENT. |
|00000f50| 61 64 63 20 62 6c 63 6b | 31 0d 20 63 6c 63 0d 20 |adc blck|1. clc. |
|00000f60| 63 6d 70 20 23 32 35 35 | 0d 20 62 65 71 20 78 6d |cmp #255|. beq xm|
|00000f70| 64 31 31 20 3b 42 4c 4f | 43 4b a0 4e 55 4d 42 45 |d11 ;BLO|CK.NUMBE|
|00000f80| 52 a0 49 53 a0 47 4f 4f | 44 0d 78 6d 64 31 32 20 |R.IS.GOO|D.xmd12 |
|00000f90| 6a 73 72 20 78 6d 64 31 | 35 20 3b 42 4c 4f 43 4b |jsr xmd1|5 ;BLOCK|
|00000fa0| a0 45 52 52 4f 52 a0 2d | a0 53 45 4e 44 a0 41 a0 |.ERROR.-|.SEND.A.|
|00000fb0| 6e 61 6b 0d 20 6a 6d 70 | 20 78 6d 64 30 36 61 0d |nak. jmp| xmd06a.|
|00000fc0| 78 6d 64 31 31 20 62 69 | 74 20 78 6d 6f 64 65 20 |xmd11 bi|t xmode |
|00000fd0| 3b 43 48 45 43 4b 53 55 | 4d a0 4f 52 a0 43 52 43 |;CHECKSU|M.OR.CRC|
|00000fe0| 3f 0d 20 62 70 6c 20 78 | 6d 64 31 31 61 20 3b 43 |?. bpl x|md11a ;C|
|00000ff0| 48 45 43 4b 53 55 4d 0d | 20 6c 64 61 20 63 72 63 |HECKSUM.| lda crc|
|00001000| 0d 20 6f 72 61 20 63 72 | 63 2b 31 0d 20 62 65 71 |. ora cr|c+1. beq|
|00001010| 20 78 6d 64 31 31 62 0d | 20 62 6e 65 20 78 6d 64 | xmd11b.| bne xmd|
|00001020| 31 32 0d 78 6d 64 31 31 | 61 20 6c 64 61 20 63 6b |12.xmd11|a lda ck|
|00001030| 73 75 6d 20 3b 4e 4f 57 | a0 53 45 45 a0 49 46 a0 |sum ;NOW|.SEE.IF.|
|00001040| 4f 55 52 a0 43 41 4c 43 | 55 4c 41 54 45 44 0d 20 |OUR.CALC|ULATED. |
|00001050| 73 65 63 20 20 3b 43 48 | 45 43 4b 53 55 4d a0 4d |sec ;CH|ECKSUM.M|
|00001060| 41 54 43 48 45 53 a0 54 | 48 45 a0 4f 4e 45 0d 20 |ATCHES.T|HE.ONE. |
|00001070| 73 62 63 20 62 6c 63 68 | 20 3b 57 45 a0 52 45 43 |sbc blch| ;WE.REC|
|00001080| 45 49 56 45 44 a0 46 52 | 4f 4d a0 54 48 45 a0 53 |EIVED.FR|OM.THE.S|
|00001090| 45 4e 44 45 52 0d 20 63 | 6c 63 0d 20 63 6d 70 20 |ENDER. c|lc. cmp |
|000010a0| 62 6c 63 68 0d 20 62 6e | 65 20 78 6d 64 31 32 20 |blch. bn|e xmd12 |
|000010b0| 3b 43 48 45 43 4b 53 55 | 4d a0 45 52 52 4f 52 a0 |;CHECKSU|M.ERROR.|
|000010c0| 2d a0 47 4f a0 6e 61 6b | 0d 78 6d 64 31 31 62 20 |-.GO.nak|.xmd11b |
|000010d0| 69 6e 63 20 62 6c 6b 6e | 75 6d 20 3b 4e 4f 57 a0 |inc blkn|um ;NOW.|
|000010e0| 43 48 45 43 4b a0 54 4f | a0 53 45 45 a0 49 46 a0 |CHECK.TO|.SEE.IF.|
|000010f0| 54 48 49 53 a0 49 53 0d | 20 6c 64 61 20 62 6c 6f |THIS.IS.| lda blo|
|00001100| 63 6b 2b 31 20 3b 54 48 | 45 a0 42 4c 4f 43 4b a0 |ck+1 ;TH|E.BLOCK.|
|00001110| 4e 55 4d 42 45 52 a0 57 | 45 a0 45 58 50 45 43 54 |NUMBER.W|E.EXPECT|
|00001120| 45 44 0d 20 63 6d 70 20 | 62 6c 6b 6e 75 6d 0d 20 |ED. cmp |blknum. |
|00001130| 62 65 71 20 78 6d 64 31 | 33 0d 20 64 65 63 20 62 |beq xmd1|3. dec b|
|00001140| 6c 6b 6e 75 6d 20 3b 4f | 56 45 52 4c 41 59 a0 50 |lknum ;O|VERLAY.P|
|00001150| 52 45 56 49 4f 55 53 a0 | 32 4e 44 a0 42 55 46 46 |REVIOUS.|2ND.BUFF|
|00001160| 45 52 0d 20 6a 6d 70 20 | 78 6d 64 31 34 63 20 3b |ER. jmp |xmd14c ;|
|00001170| 49 46 a0 53 45 4e 44 45 | 52 a0 52 45 50 45 41 54 |IF.SENDE|R.REPEAT|
|00001180| 45 44 a0 48 49 4d 53 45 | 4c 46 0d 78 6d 64 31 33 |ED.HIMSE|LF.xmd13|
|00001190| 20 6c 64 61 20 66 78 6d | 6f 20 3b 53 54 55 46 46 | lda fxm|o ;STUFF|
|000011a0| a0 49 4e 54 4f a0 32 4e | 44 a0 42 55 46 46 45 52 |.INTO.2N|D.BUFFER|
|000011b0| a0 49 46 a0 54 48 49 53 | 0d 20 62 65 71 20 78 6d |.IF.THIS|. beq xm|
|000011c0| 64 31 34 63 20 3b 49 53 | a0 54 48 45 a0 46 49 52 |d14c ;IS|.THE.FIR|
|000011d0| 53 54 a0 42 4c 4f 43 4b | 0d 78 6d 64 31 34 20 6c |ST.BLOCK|.xmd14 l|
|000011e0| 64 79 20 23 30 0d 20 6c | 64 78 20 23 34 0d 78 6d |dy #0. l|dx #4.xm|
|000011f0| 64 31 34 64 20 6c 64 61 | 20 78 6d 6f 62 6c 6b 2c |d14d lda| xmoblk,|
|00001200| 78 20 3b 4c 4f 4f 4b a0 | 46 4f 52 a0 43 4f 4d 50 |x ;LOOK.|FOR.COMP|
|00001210| 55 53 45 52 56 45 0d 20 | 63 6d 70 20 63 69 73 66 |USERVE. |cmp cisf|
|00001220| 6d 74 2c 78 20 3b 4d 41 | 43 48 49 4e 45 2d 53 50 |mt,x ;MA|CHINE-SP|
|00001230| 45 43 49 46 49 43 a0 48 | 45 41 44 45 52 0d 20 62 |ECIFIC.H|EADER. b|
|00001240| 6e 65 20 78 6d 64 31 34 | 62 20 3b 41 4e 44 a0 53 |ne xmd14|b ;AND.S|
|00001250| 54 52 49 50 a0 49 54 a0 | 4f 55 54 0d 20 64 65 78 |TRIP.IT.|OUT. dex|
|00001260| 0d 20 62 70 6c 20 78 6d | 64 31 34 64 0d 20 6c 64 |. bpl xm|d14d. ld|
|00001270| 79 20 23 36 0d 78 6d 64 | 31 34 62 20 73 74 79 20 |y #6.xmd|14b sty |
|00001280| 74 65 6d 70 78 20 3b 57 | 52 49 54 45 a0 54 48 45 |tempx ;W|RITE.THE|
|00001290| a0 32 4e 44 a0 42 55 46 | 46 45 52 a0 54 4f a0 44 |.2ND.BUF|FER.TO.D|
|000012a0| 49 53 4b 0d 20 6c 64 78 | 20 23 38 0d 20 6a 73 72 |ISK. ldx| #8. jsr|
|000012b0| 20 63 68 6b 6f 75 74 0d | 78 6d 64 31 34 61 20 6c | chkout.|xmd14a l|
|000012c0| 64 78 20 74 65 6d 70 78 | 0d 20 6c 64 61 20 78 6d |dx tempx|. lda xm|
|000012d0| 6f 62 6c 6b 2c 78 0d 20 | 62 69 74 20 74 72 6f 6e |oblk,x. |bit tron|
|000012e0| 20 3b 54 52 41 4e 53 4c | 41 54 45 a0 54 48 45 a0 | ;TRANSL|ATE.THE.|
|000012f0| 43 48 41 52 41 43 54 45 | 52 53 a0 49 46 0d 20 62 |CHARACTE|RS.IF. b|
|00001300| 70 6c 20 78 6d 64 31 34 | 65 20 3b 54 48 45 a0 54 |pl xmd14|e ;THE.T|
|00001310| 52 41 4e 53 4c 41 54 45 | a0 46 4c 41 47 a0 49 53 |RANSLATE|.FLAG.IS|
|00001320| a0 4f 4e 0d 20 6a 73 72 | 20 63 6e 76 72 74 0d 78 |.ON. jsr| cnvrt.x|
|00001330| 6d 64 31 34 65 20 6a 73 | 72 20 63 68 72 6f 75 74 |md14e js|r chrout|
|00001340| 0d 20 6a 73 72 20 72 65 | 61 64 73 73 20 3b 57 41 |. jsr re|adss ;WA|
|00001350| 54 43 48 a0 44 45 4d a0 | 44 49 53 4b a0 45 52 52 |TCH.DEM.|DISK.ERR|
|00001360| 4f 52 53 21 0d 20 62 6e | 65 20 78 6d 64 65 72 72 |ORS!. bn|e xmderr|
|00001370| 0d 20 69 6e 63 20 74 65 | 6d 70 78 0d 20 6c 64 61 |. inc te|mpx. lda|
|00001380| 20 78 6d 6f 73 7a 20 3b | 49 53 a0 54 48 49 53 a0 | xmosz ;|IS.THIS.|
|00001390| 54 48 45 a0 45 4e 44 a0 | 4f 46 a0 54 48 45 0d 20 |THE.END.|OF.THE. |
|000013a0| 63 6d 70 20 74 65 6d 70 | 78 20 3b 44 41 54 41 a0 |cmp temp|x ;DATA.|
|000013b0| 42 4c 4f 43 4b a0 50 4f | 52 54 49 4f 4e 3f 0d 20 |BLOCK.PO|RTION?. |
|000013c0| 62 6e 65 20 78 6d 64 31 | 34 61 20 3b 4e 4f a0 2d |bne xmd1|4a ;NO.-|
|000013d0| a0 4b 45 45 50 a0 57 52 | 49 54 49 4e 47 a0 54 4f |.KEEP.WR|ITING.TO|
|000013e0| a0 44 49 53 4b 0d 20 62 | 69 74 20 6c 73 74 62 6c |.DISK. b|it lstbl|
|000013f0| 6b 20 3b 59 45 53 a0 2d | a0 49 53 a0 54 48 49 53 |k ;YES.-|.IS.THIS|
|00001400| a0 54 48 45 a0 4c 41 53 | 54 0d 20 62 70 6c 20 78 |.THE.LAS|T. bpl x|
|00001410| 6d 64 31 34 63 20 3b 42 | 4c 4f 43 4b a0 4f 46 a0 |md14c ;B|LOCK.OF.|
|00001420| 54 48 45 a0 46 49 4c 45 | 3f 0d 20 6a 6d 70 20 78 |THE.FILE|?. jmp x|
|00001430| 6d 64 32 34 20 3b 59 45 | 53 a0 2d a0 54 49 4d 45 |md24 ;YE|S.-.TIME|
|00001440| a0 54 4f a0 46 49 4e 49 | 53 48 a0 55 50 0d 78 6d |.TO.FINI|SH.UP.xm|
|00001450| 64 31 34 63 20 6a 73 72 | 20 78 6d 64 62 6c 6b 20 |d14c jsr| xmdblk |
|00001460| 3b 44 49 53 50 4c 41 59 | a0 43 55 52 52 45 4e 54 |;DISPLAY|.CURRENT|
|00001470| a0 42 4c 4f 43 4b a0 49 | 4e 46 4f 0d 20 6c 64 78 |.BLOCK.I|NFO. ldx|
|00001480| 20 23 30 0d 78 6d 64 34 | 31 20 6c 64 61 20 62 6c | #0.xmd4|1 lda bl|
|00001490| 64 61 74 61 2c 78 20 3b | 4d 4f 56 45 a0 31 53 54 |data,x ;|MOVE.1ST|
|000014a0| a0 42 55 46 46 45 52 a0 | 54 4f a0 32 4e 44 0d 20 |.BUFFER.|TO.2ND. |
|000014b0| 73 74 61 20 78 6d 6f 62 | 6c 6b 2c 78 20 3b 57 45 |sta xmob|lk,x ;WE|
|000014c0| a0 55 53 45 a0 44 4f 55 | 42 4c 45 2d 42 55 46 46 |.USE.DOU|BLE-BUFF|
|000014d0| 45 52 49 4e 47 a0 46 4f | 52 0d 20 69 6e 78 20 20 |ERING.FO|R. inx |
|000014e0| 3b 4f 4e 2d 54 48 45 2d | 46 4c 59 a0 50 41 44 a0 |;ON-THE-|FLY.PAD.|
|000014f0| 53 54 52 49 50 50 49 4e | 47 0d 20 62 70 6c 20 78 |STRIPPIN|G. bpl x|
|00001500| 6d 64 34 31 20 3b 4d 4f | 56 45 a0 31 32 38 a0 42 |md41 ;MO|VE.128.B|
|00001510| 59 54 45 53 0d 20 73 74 | 78 20 66 78 6d 6f 0d 20 |YTES. st|x fxmo. |
|00001520| 6c 64 61 20 23 61 63 6b | 20 3b 61 63 6b a0 54 48 |lda #ack| ;ack.TH|
|00001530| 45 a0 53 45 4e 44 45 52 | a0 2d a0 54 48 49 53 a0 |E.SENDER|.-.THIS.|
|00001540| 42 4c 4f 43 4b 0d 20 6a | 73 72 20 70 74 78 6d 64 |BLOCK. j|sr ptxmd|
|00001550| 6d 20 3b 57 41 53 a0 47 | 4f 4f 44 0d 20 6a 73 72 |m ;WAS.G|OOD. jsr|
|00001560| 20 63 6c 72 63 68 6e 0d | 20 6a 6d 70 20 78 6d 64 | clrchn.| jmp xmd|
|00001570| 30 36 61 0d 78 6d 64 65 | 72 72 20 6a 73 72 20 65 |06a.xmde|rr jsr e|
|00001580| 72 72 63 68 6e 20 3b 4f | 4f 50 53 a0 2d a0 47 4f |rrchn ;O|OPS.-.GO|
|00001590| 54 a0 41 a0 44 49 53 4b | a0 45 52 52 4f 52 21 0d |T.A.DISK|.ERROR!.|
|000015a0| 20 6c 64 61 20 23 31 20 | 3b 4e 4f 54 49 46 59 a0 | lda #1 |;NOTIFY.|
|000015b0| 54 48 45 a0 55 53 45 52 | a0 41 4e 44 a0 54 48 45 |THE.USER|.AND.THE|
|000015c0| 4e 0d 20 6a 73 72 20 6f | 75 74 6d 73 67 20 3b 41 |N. jsr o|utmsg ;A|
|000015d0| 42 4f 52 54 a0 54 48 45 | a0 46 49 4c 45 a0 54 52 |BORT.THE|.FILE.TR|
|000015e0| 41 4e 53 46 45 52 0d 20 | 6c 64 61 20 23 37 20 3b |ANSFER. |lda #7 ;|
|000015f0| 41 54 a0 58 4d 44 31 38 | 0d 20 6a 73 72 20 6f 75 |AT.XMD18|. jsr ou|
|00001600| 74 6d 73 67 0d 20 6c 64 | 61 20 23 31 33 0d 20 6a |tmsg. ld|a #13. j|
|00001610| 73 72 20 73 63 6e 6f 75 | 74 0d 20 6a 73 72 20 78 |sr scnou|t. jsr x|
|00001620| 6d 64 31 38 0d 78 6d 64 | 34 32 20 6c 64 61 20 23 |md18.xmd|42 lda #|
|00001630| 31 32 38 20 3b 53 45 54 | a0 4c 41 53 54 a0 42 4c |128 ;SET|.LAST.BL|
|00001640| 4f 43 4b a0 49 4e 44 49 | 43 41 54 4f 52 0d 20 73 |OCK.INDI|CATOR. s|
|00001650| 74 61 20 6c 73 74 62 6c | 6b 0d 20 6c 64 78 20 23 |ta lstbl|k. ldx #|
|00001660| 31 32 37 20 3b 44 45 54 | 45 52 4d 49 4e 45 a0 57 |127 ;DET|ERMINE.W|
|00001670| 48 45 54 48 45 52 a0 4f | 52 a0 4e 4f 54 0d 20 6c |HETHER.O|R.NOT. l|
|00001680| 64 61 20 78 6d 6f 62 6c | 6b 2c 78 20 3b 53 45 4e |da xmobl|k,x ;SEN|
|00001690| 44 45 52 a0 55 53 45 44 | a0 43 54 52 4c 2d 5a a0 |DER.USED|.CTRL-Z.|
|000016a0| 4f 52 a0 4e 55 4c 4c 0d | 20 73 74 61 20 70 61 64 |OR.NULL.| sta pad|
|000016b0| 63 68 72 20 3b 41 53 a0 | 41 a0 50 41 44 a0 43 48 |chr ;AS.|A.PAD.CH|
|000016c0| 41 52 41 43 54 45 52 0d | 20 63 6d 70 20 23 32 36 |ARACTER.| cmp #26|
|000016d0| 0d 20 62 65 71 20 78 6d | 64 34 32 61 20 3b 48 45 |. beq xm|d42a ;HE|
|000016e0| a0 55 53 45 44 a0 43 54 | 52 4c 2d 5a 0d 20 63 6d |.USED.CT|RL-Z. cm|
|000016f0| 70 20 23 30 0d 20 62 65 | 71 20 78 6d 64 34 32 61 |p #0. be|q xmd42a|
|00001700| 20 3b 48 45 a0 55 53 45 | 44 a0 4e 55 4c 4c 0d 20 | ;HE.USE|D.NULL. |
|00001710| 6a 6d 70 20 78 6d 64 34 | 32 63 0d 78 6d 64 34 32 |jmp xmd4|2c.xmd42|
|00001720| 61 20 6c 64 61 20 78 6d | 6f 62 6c 6b 2c 78 20 3b |a lda xm|oblk,x ;|
|00001730| 4e 4f 57 a0 42 41 43 4b | a0 55 50 a0 49 4e 54 4f |NOW.BACK|.UP.INTO|
|00001740| a0 54 48 45 a0 4c 41 53 | 54 0d 20 63 6d 70 20 70 |.THE.LAS|T. cmp p|
|00001750| 61 64 63 68 72 20 3b 42 | 4c 4f 43 4b a0 55 4e 54 |adchr ;B|LOCK.UNT|
|00001760| 49 4c a0 57 45 a0 46 49 | 4e 44 a0 54 48 45 0d 20 |IL.WE.FI|ND.THE. |
|00001770| 62 6e 65 20 78 6d 64 34 | 32 63 20 3b 46 49 4e 41 |bne xmd4|2c ;FINA|
|00001780| 4c a0 52 45 41 4c a0 44 | 41 54 41 a0 42 59 54 45 |L.REAL.D|ATA.BYTE|
|00001790| 0d 20 64 65 78 0d 20 62 | 70 6c 20 78 6d 64 34 32 |. dex. b|pl xmd42|
|000017a0| 61 0d 20 6a 6d 70 20 78 | 6d 64 32 34 0d 78 6d 64 |a. jmp x|md24.xmd|
|000017b0| 34 32 63 20 69 6e 78 20 | 20 3b 53 45 54 a0 42 4c |42c inx | ;SET.BL|
|000017c0| 4f 43 4b a0 53 49 5a 45 | a0 54 4f a0 4d 41 54 43 |OCK.SIZE|.TO.MATC|
|000017d0| 48 0d 20 73 74 78 20 78 | 6d 6f 73 7a 20 3b 45 4e |H. stx x|mosz ;EN|
|000017e0| 44 a0 4f 46 a0 4c 41 53 | 54 a0 42 4c 4f 43 4b 0d |D.OF.LAS|T.BLOCK.|
|000017f0| 20 6a 6d 70 20 78 6d 64 | 31 34 0d 63 6e 76 72 74 | jmp xmd|14.cnvrt|
|00001800| 20 61 6e 64 20 23 31 32 | 37 20 3b 43 4f 4e 56 45 | and #12|7 ;CONVE|
|00001810| 52 54 a0 41 53 43 49 49 | 2d 50 45 54 41 53 43 49 |RT.ASCII|-PETASCI|
|00001820| 49 0d 20 63 6d 70 20 23 | 36 35 0d 20 62 63 63 20 |I. cmp #|65. bcc |
|00001830| 78 6d 64 31 34 6c 0d 20 | 63 6d 70 20 23 39 31 0d |xmd14l. |cmp #91.|
|00001840| 20 62 63 73 20 78 6d 64 | 31 34 6b 0d 20 6f 72 61 | bcs xmd|14k. ora|
|00001850| 20 23 33 32 0d 20 6a 6d | 70 20 78 6d 64 31 34 6c | #32. jm|p xmd14l|
|00001860| 0d 78 6d 64 31 34 6b 20 | 63 6d 70 20 23 39 37 0d |.xmd14k |cmp #97.|
|00001870| 20 62 63 63 20 78 6d 64 | 31 34 6c 0d 20 63 6d 70 | bcc xmd|14l. cmp|
|00001880| 20 23 31 32 33 0d 20 62 | 63 73 20 78 6d 64 31 34 | #123. b|cs xmd14|
|00001890| 6c 0d 20 61 6e 64 20 23 | 32 32 33 0d 78 6d 64 31 |l. and #|223.xmd1|
|000018a0| 34 6c 20 72 74 73 0d 2a | 0d 2a a0 67 65 74 a0 78 |4l rts.*|.*.get.x|
|000018b0| 6d 6f 64 65 6d a0 63 68 | 61 72 0d 2a 0d 67 74 78 |modem.ch|ar.*.gtx|
|000018c0| 6d 64 6d 20 6a 73 72 20 | 73 65 74 6a 69 66 20 3b |mdm jsr |setjif ;|
|000018d0| 53 45 54 a0 43 48 41 52 | 41 43 54 45 52 a0 54 49 |SET.CHAR|ACTER.TI|
|000018e0| 4d 45 4f 55 54 0d 67 74 | 78 30 31 20 6a 73 72 20 |MEOUT.gt|x01 jsr |
|000018f0| 73 74 6f 70 20 3b 43 48 | 45 43 4b a0 54 4f a0 53 |stop ;CH|ECK.TO.S|
|00001900| 45 45 a0 49 46 a0 55 53 | 45 52 a0 49 53 0d 20 62 |EE.IF.US|ER.IS. b|
|00001910| 65 71 20 67 74 78 65 78 | 20 3b 50 52 45 53 53 49 |eq gtxex| ;PRESSI|
|00001920| 4e 47 a0 53 54 4f 50 a0 | 4b 45 59 a0 54 4f a0 41 |NG.STOP.|KEY.TO.A|
|00001930| 42 4f 52 54 0d 20 6a 73 | 72 20 67 69 6d 20 3b 47 |BORT. js|r gim ;G|
|00001940| 45 54 a0 43 48 41 52 41 | 43 54 45 52 a0 46 52 4f |ET.CHARA|CTER.FRO|
|00001950| 4d a0 4d 4f 44 45 4d 0d | 20 62 6e 65 20 67 74 78 |M.MODEM.| bne gtx|
|00001960| 30 32 20 3b 57 41 53 a0 | 54 48 45 52 45 a0 41 a0 |02 ;WAS.|THERE.A.|
|00001970| 43 48 41 52 41 43 54 45 | 52 3f 0d 20 72 74 73 20 |CHARACTE|R?. rts |
|00001980| 20 3b 59 45 53 a0 2d a0 | 52 45 54 55 52 4e 0d 67 | ;YES.-.|RETURN.g|
|00001990| 74 78 30 32 20 6a 73 72 | 20 74 73 74 6a 69 66 20 |tx02 jsr| tstjif |
|000019a0| 3b 4e 4f a0 2d a0 44 49 | 44 a0 57 45 a0 54 49 4d |;NO.-.DI|D.WE.TIM|
|000019b0| 45 a0 4f 55 54 a0 59 45 | 54 3f 0d 20 62 63 63 20 |E.OUT.YE|T?. bcc |
|000019c0| 67 74 78 30 31 20 3b 4e | 4f a0 2d a0 47 4f a0 54 |gtx01 ;N|O.-.GO.T|
|000019d0| 52 59 a0 41 47 41 49 4e | 0d 20 6a 73 72 20 78 6d |RY.AGAIN|. jsr xm|
|000019e0| 64 31 36 20 3b 59 45 53 | a0 2d a0 47 4f a0 54 4f |d16 ;YES|.-.GO.TO|
|000019f0| a0 45 52 52 4f 52 a0 52 | 4f 55 54 49 4e 45 0d 20 |.ERROR.R|OUTINE. |
|00001a00| 70 6c 61 0d 20 70 6c 61 | 0d 20 6a 6d 70 20 78 6d |pla. pla|. jmp xm|
|00001a10| 64 30 36 61 20 3b 52 45 | 54 55 52 4e 0d 67 74 78 |d06a ;RE|TURN.gtx|
|00001a20| 65 78 20 6a 6d 70 20 78 | 6d 64 31 38 20 3b 55 53 |ex jmp x|md18 ;US|
|00001a30| 45 52 a0 57 41 4e 54 53 | a0 54 4f a0 41 42 4f 52 |ER.WANTS|.TO.ABOR|
|00001a40| 54 0d 2a 0d 2a a0 63 68 | 65 63 6b a0 63 61 6e 2c |T.*.*.ch|eck.can,|
|00001a50| 6e 61 6b a0 61 70 70 72 | 6f 70 72 69 61 74 65 0d |nak.appr|opriate.|
|00001a60| 2a 0d 78 6d 64 31 35 20 | 69 6e 63 20 65 72 72 20 |*.xmd15 |inc err |
|00001a70| 3b 43 41 4e 43 45 4c a0 | 49 46 a0 31 30 a0 45 52 |;CANCEL.|IF.10.ER|
|00001a80| 52 4f 52 53 a0 49 4e a0 | 41 a0 52 4f 57 0d 20 6c |RORS.IN.|A.ROW. l|
|00001a90| 64 61 20 23 31 30 20 3b | 4f 54 48 45 52 57 49 53 |da #10 ;|OTHERWIS|
|00001aa0| 45 a0 4a 55 53 54 a0 6e | 61 6b 0d 20 63 6d 70 20 |E.JUST.n|ak. cmp |
|00001ab0| 65 72 72 0d 20 62 65 71 | 20 78 6d 64 31 38 0d 2a |err. beq| xmd18.*|
|00001ac0| 0d 2a a0 6e 61 6b 0d 2a | 0d 78 6d 64 31 36 20 6c |.*.nak.*|.xmd16 l|
|00001ad0| 64 61 20 23 27 4e 27 0d | 20 73 74 61 20 64 69 73 |da #'N'.| sta dis|
|00001ae0| 70 72 38 2b 31 38 0d 20 | 6c 64 61 20 23 6e 61 6b |pr8+18. |lda #nak|
|00001af0| 0d 20 6a 73 72 20 70 74 | 78 6d 64 6d 0d 20 72 74 |. jsr pt|xmdm. rt|
|00001b00| 73 0d 2a 0d 2a a0 65 6f | 74 0d 2a 0d 78 6d 64 31 |s.*.*.eo|t.*.xmd1|
|00001b10| 37 20 6c 64 61 20 23 65 | 6f 74 0d 20 6a 73 72 20 |7 lda #e|ot. jsr |
|00001b20| 70 74 78 6d 64 6d 0d 20 | 72 74 73 0d 2a 0d 2a a0 |ptxmdm. |rts.*.*.|
|00001b30| 63 61 6e 0d 2a 0d 78 6d | 64 31 38 20 6c 64 61 20 |can.*.xm|d18 lda |
|00001b40| 23 63 61 6e 20 3b 43 41 | 4e 43 45 4c a0 54 48 45 |#can ;CA|NCEL.THE|
|00001b50| a0 54 52 41 4e 53 46 45 | 52 0d 20 6a 73 72 20 70 |.TRANSFE|R. jsr p|
|00001b60| 74 78 6d 64 6d 0d 78 6d | 64 31 39 20 6c 64 61 20 |txmdm.xm|d19 lda |
|00001b70| 23 34 20 3b 44 49 53 50 | 4c 41 59 a0 4d 45 53 53 |#4 ;DISP|LAY.MESS|
|00001b80| 41 47 45 a0 54 4f a0 55 | 53 45 52 0d 20 6a 73 72 |AGE.TO.U|SER. jsr|
|00001b90| 20 78 6d 64 32 35 0d 20 | 6a 73 72 20 77 61 69 74 | xmd25. |jsr wait|
|00001ba0| 74 77 6f 0d 20 70 6c 61 | 20 20 3b 4a 55 4d 50 a0 |two. pla| ;JUMP.|
|00001bb0| 41 4c 4c a0 54 48 45 a0 | 57 41 59 a0 42 41 43 4b |ALL.THE.|WAY.BACK|
|00001bc0| a0 54 4f 0d 20 70 6c 61 | 20 20 3b 54 48 45 a0 62 |.TO. pla| ;THE.b|
|00001bd0| 41 53 49 43 a0 50 52 4f | 47 52 41 4d 0d 20 72 74 |ASIC.PRO|GRAM. rt|
|00001be0| 73 0d 78 6d 64 32 38 20 | 6c 64 61 20 23 38 20 3b |s.xmd28 |lda #8 ;|
|00001bf0| 41 53 4b a0 55 53 45 52 | a0 54 4f a0 43 4f 4e 46 |ASK.USER|.TO.CONF|
|00001c00| 49 52 4d a0 41 42 4f 52 | 54 0d 20 6a 73 72 20 78 |IRM.ABOR|T. jsr x|
|00001c10| 6d 64 32 35 0d 78 6d 64 | 32 38 61 20 6a 73 72 20 |md25.xmd|28a jsr |
|00001c20| 67 65 74 6b 65 79 20 3b | 47 45 54 a0 4b 45 59 42 |getkey ;|GET.KEYB|
|00001c30| 4f 41 52 44 a0 49 4e 50 | 55 54 0d 20 70 68 61 0d |OARD.INP|UT. pha.|
|00001c40| 20 6a 73 72 20 63 6c 72 | 63 68 6e 0d 20 70 6c 61 | jsr clr|chn. pla|
|00001c50| 0d 20 70 68 61 0d 20 6a | 73 72 20 63 68 72 6f 75 |. pha. j|sr chrou|
|00001c60| 74 20 3b 44 49 53 50 4c | 41 59 a0 55 53 45 52 a0 |t ;DISPL|AY.USER.|
|00001c70| 4b 45 59 53 54 52 4f 4b | 45 0d 20 70 6c 61 0d 20 |KEYSTROK|E. pla. |
|00001c80| 63 6d 70 20 23 27 59 27 | 20 3b 44 49 44 a0 48 45 |cmp #'Y'| ;DID.HE|
|00001c90| a0 43 4f 4e 46 49 52 4d | a0 41 42 4f 52 54 3f 0d |.CONFIRM|.ABORT?.|
|00001ca0| 20 62 65 71 20 78 6d 64 | 31 39 20 3b 59 45 53 a0 | beq xmd|19 ;YES.|
|00001cb0| 2d a0 45 58 49 54 a0 54 | 52 41 4e 53 46 45 52 0d |-.EXIT.T|RANSFER.|
|00001cc0| 20 63 6d 70 20 23 27 4e | 27 0d 20 62 6e 65 20 78 | cmp #'N|'. bne x|
|00001cd0| 6d 64 32 38 61 20 3b 4e | 4f 54 a0 41 a0 56 41 4c |md28a ;N|OT.A.VAL|
|00001ce0| 49 44 a0 52 45 53 50 4f | 4e 53 45 0d 20 6c 64 61 |ID.RESPO|NSE. lda|
|00001cf0| 20 23 31 33 0d 20 6a 73 | 72 20 63 68 72 6f 75 74 | #13. js|r chrout|
|00001d00| 0d 20 6c 64 61 20 23 30 | 20 3b 53 45 54 a0 54 4f |. lda #0| ;SET.TO|
|00001d10| a0 43 4f 4e 54 49 4e 55 | 45 a0 4f 4e 0d 20 72 74 |.CONTINU|E.ON. rt|
|00001d20| 73 20 20 3b 41 4e 44 a0 | 52 45 54 55 52 4e 0d 2a |s ;AND.|RETURN.*|
|00001d30| 0d 2a a0 63 6f 6d 70 6c | 65 74 65 0d 2a 0d 78 6d |.*.compl|ete.*.xm|
|00001d40| 64 32 34 20 6c 64 61 20 | 23 61 63 6b 20 3b 41 43 |d24 lda |#ack ;AC|
|00001d50| 4b 4e 4f 57 4c 45 44 47 | 45 a0 52 45 43 45 49 50 |KNOWLEDG|E.RECEIP|
|00001d60| 54 a0 4f 46 a0 65 6f 74 | 0d 20 6a 73 72 20 70 74 |T.OF.eot|. jsr pt|
|00001d70| 78 6d 64 6d 0d 78 6d 64 | 32 34 61 20 6c 64 61 20 |xmdm.xmd|24a lda |
|00001d80| 23 33 20 3b 44 49 53 50 | 4c 41 59 a0 43 4f 4d 50 |#3 ;DISP|LAY.COMP|
|00001d90| 4c 45 54 45 44 a0 4d 45 | 53 53 41 47 45 0d 78 6d |LETED.ME|SSAGE.xm|
|00001da0| 64 32 35 20 6a 73 72 20 | 6f 75 74 6d 73 67 0d 20 |d25 jsr |outmsg. |
|00001db0| 6c 64 61 20 23 38 20 3b | 43 4c 4f 53 45 a0 54 48 |lda #8 ;|CLOSE.TH|
|00001dc0| 45 a0 46 49 4c 45 a0 41 | 4e 44 a0 47 4f a0 48 4f |E.FILE.A|ND.GO.HO|
|00001dd0| 4d 45 0d 20 6a 6d 70 20 | 63 6c 6f 73 65 0d 2a 0d |ME. jmp |close.*.|
|00001de0| 2a a0 73 65 6e 64 a0 66 | 69 6c 65 0d 2a 0d 78 6d |*.send.f|ile.*.xm|
|00001df0| 64 33 30 20 6a 73 72 20 | 73 74 6f 70 20 3b 43 48 |d30 jsr |stop ;CH|
|00001e00| 45 43 4b a0 49 53 a0 55 | 53 49 4e 47 a0 49 53 a0 |ECK.IS.U|SING.IS.|
|00001e10| 50 52 45 53 53 49 4e 47 | 0d 20 62 6e 65 20 78 6d |PRESSING|. bne xm|
|00001e20| 64 33 30 61 20 3b 53 54 | 4f 50 a0 4b 45 59 0d 20 |d30a ;ST|OP.KEY. |
|00001e30| 6a 73 72 20 78 6d 64 31 | 39 20 3b 59 45 53 a0 2d |jsr xmd1|9 ;YES.-|
|00001e40| a0 41 42 4f 52 54 a0 54 | 52 41 4e 53 46 45 52 0d |.ABORT.T|RANSFER.|
|00001e50| 78 6d 64 33 30 61 20 6c | 64 61 20 23 31 33 32 0d |xmd30a l|da #132.|
|00001e60| 20 73 74 61 20 78 62 6c | 73 7a 0d 20 6c 64 61 20 | sta xbl|sz. lda |
|00001e70| 72 69 64 62 73 20 3b 43 | 4c 45 41 52 a0 49 4e 50 |ridbs ;C|LEAR.INP|
|00001e80| 55 54 a0 42 55 46 46 45 | 52 0d 20 73 74 61 20 72 |UT.BUFFE|R. sta r|
|00001e90| 69 64 62 65 0d 20 6c 64 | 61 20 23 30 20 3b 49 4e |idbe. ld|a #0 ;IN|
|00001ea0| 49 54 49 41 4c 49 5a 45 | a0 56 41 52 49 41 42 4c |ITIALIZE|.VARIABL|
|00001eb0| 45 53 0d 20 73 74 61 20 | 74 62 63 6f 75 6e 74 0d |ES. sta |tbcount.|
|00001ec0| 20 73 74 61 20 74 62 63 | 6f 75 6e 74 2b 31 0d 20 | sta tbc|ount+1. |
|00001ed0| 6c 64 61 20 23 31 0d 20 | 73 74 61 20 62 6c 6e 0d |lda #1. |sta bln.|
|00001ee0| 20 73 74 61 20 62 6c 6f | 0d 20 65 6f 72 20 23 32 | sta blo|. eor #2|
|00001ef0| 35 35 0d 20 73 74 61 20 | 62 6c 63 6b 31 0d 78 6d |55. sta |blck1.xm|
|00001f00| 64 33 30 62 20 6a 73 72 | 20 73 74 6f 70 20 3b 43 |d30b jsr| stop ;C|
|00001f10| 48 45 43 4b a0 53 54 4f | 50 a0 4b 45 59 0d 20 62 |HECK.STO|P.KEY. b|
|00001f20| 6e 65 20 78 6d 64 33 30 | 63 0d 20 6a 73 72 20 78 |ne xmd30|c. jsr x|
|00001f30| 6d 64 31 37 0d 20 6a 73 | 72 20 78 6d 64 31 39 0d |md17. js|r xmd19.|
|00001f40| 78 6d 64 33 30 63 20 6a | 73 72 20 67 69 6d 20 3b |xmd30c j|sr gim ;|
|00001f50| 47 45 54 a0 4d 4f 44 45 | 4d a0 43 48 41 52 41 43 |GET.MODE|M.CHARAC|
|00001f60| 54 45 52 0d 20 62 6e 65 | 20 78 6d 64 33 30 62 20 |TER. bne| xmd30b |
|00001f70| 3b 4e 4f a0 43 48 41 52 | 41 43 54 45 52 a0 2d a0 |;NO.CHAR|ACTER.-.|
|00001f80| 4c 4f 4f 50 0d 20 6c 64 | 61 20 64 70 6f 72 74 62 |LOOP. ld|a dportb|
|00001f90| 20 3b 43 48 45 43 4b a0 | 46 4f 52 a0 43 41 52 52 | ;CHECK.|FOR.CARR|
|00001fa0| 49 45 52 0d 20 61 6e 64 | 20 63 61 72 72 69 65 72 |IER. and| carrier|
|00001fb0| 0d 20 62 65 71 20 78 6d | 64 33 30 63 31 0d 20 6a |. beq xm|d30c1. j|
|00001fc0| 73 72 20 78 6d 64 32 38 | 20 3b 56 45 52 49 46 59 |sr xmd28| ;VERIFY|
|00001fd0| a0 41 42 4f 52 54 a0 46 | 52 4f 4d a0 55 53 45 52 |.ABORT.F|ROM.USER|
|00001fe0| 0d 20 62 65 71 20 78 6d | 64 33 30 63 0d 78 6d 64 |. beq xm|d30c.xmd|
|00001ff0| 33 30 63 31 20 6c 64 61 | 20 72 63 76 63 68 72 0d |30c1 lda| rcvchr.|
|00002000| 20 63 6d 70 20 23 63 61 | 6e 20 3b 49 53 a0 52 45 | cmp #ca|n ;IS.RE|
|00002010| 43 45 49 56 45 52 a0 43 | 41 4e 43 45 4c 4c 49 4e |CEIVER.C|ANCELLIN|
|00002020| 47 3f 0d 20 62 6e 65 20 | 78 6d 64 33 30 64 20 3b |G?. bne |xmd30d ;|
|00002030| 4e 4f 0d 20 6a 73 72 20 | 78 6d 64 31 39 20 3b 59 |NO. jsr |xmd19 ;Y|
|00002040| 45 53 a0 2d a0 54 49 4d | 45 a0 54 4f a0 51 55 49 |ES.-.TIM|E.TO.QUI|
|00002050| 54 0d 78 6d 64 33 30 64 | 20 63 6d 70 20 23 6e 61 |T.xmd30d| cmp #na|
|00002060| 6b 20 3b 57 41 53 a0 54 | 52 41 4e 53 4d 49 53 53 |k ;WAS.T|RANSMISS|
|00002070| 49 4f 4e a0 42 41 44 3f | 0d 20 62 65 71 20 78 6d |ION.BAD?|. beq xm|
|00002080| 64 33 31 0d 20 63 6d 70 | 20 23 36 37 0d 20 62 6e |d31. cmp| #67. bn|
|00002090| 65 20 78 6d 64 33 30 62 | 20 3b 4e 4f 0d 20 6c 64 |e xmd30b| ;NO. ld|
|000020a0| 61 20 23 31 30 0d 20 6a | 73 72 20 6f 75 74 6d 73 |a #10. j|sr outms|
|000020b0| 67 0d 20 6c 64 61 20 23 | 31 33 33 0d 20 73 74 61 |g. lda #|133. sta|
|000020c0| 20 78 62 6c 73 7a 0d 20 | 73 74 61 20 78 6d 6f 64 | xblsz. |sta xmod|
|000020d0| 65 0d 78 6d 64 33 31 20 | 6a 73 72 20 73 65 74 7a |e.xmd31 |jsr setz|
|000020e0| 65 72 6f 0d 20 6c 64 61 | 20 23 33 20 3b 52 45 54 |ero. lda| #3 ;RET|
|000020f0| 52 41 4e 53 4d 49 54 a0 | 4c 41 53 54 a0 42 4c 4f |RANSMIT.|LAST.BLO|
|00002100| 43 4b 0d 20 73 74 61 20 | 63 68 72 63 6e 74 20 3b |CK. sta |chrcnt ;|
|00002110| 49 4e 49 54 49 41 4c 49 | 5a 45 a0 42 4c 4f 43 4b |INITIALI|ZE.BLOCK|
|00002120| a0 56 41 52 49 41 42 4c | 45 53 0d 20 6c 64 78 20 |.VARIABL|ES. ldx |
|00002130| 23 30 0d 20 73 74 78 20 | 63 6b 73 75 6d 0d 20 73 |#0. stx |cksum. s|
|00002140| 74 78 20 72 73 74 61 74 | 0d 78 6d 64 33 32 20 6a |tx rstat|.xmd32 j|
|00002150| 73 72 20 73 74 6f 70 20 | 3b 43 48 45 43 4b a0 53 |sr stop |;CHECK.S|
|00002160| 54 4f 50 a0 4b 45 59 0d | 20 62 6e 65 20 78 6d 64 |TOP.KEY.| bne xmd|
|00002170| 33 32 61 0d 20 6a 6d 70 | 20 78 6d 64 33 37 78 0d |32a. jmp| xmd37x.|
|00002180| 78 6d 64 33 32 61 20 6c | 64 78 20 23 38 20 3b 47 |xmd32a l|dx #8 ;G|
|00002190| 45 54 a0 43 48 41 52 41 | 43 54 45 52 a0 46 52 4f |ET.CHARA|CTER.FRO|
|000021a0| 4d a0 44 49 53 4b 0d 20 | 6a 73 72 20 63 68 6b 69 |M.DISK. |jsr chki|
|000021b0| 6e 0d 20 6a 73 72 20 67 | 65 74 69 6e 0d 20 62 69 |n. jsr g|etin. bi|
|000021c0| 74 20 74 72 6f 6e 20 3b | 43 48 45 43 4b a0 46 4f |t tron ;|CHECK.FO|
|000021d0| 52 a0 54 52 41 4e 53 4c | 41 54 45 a0 4f 4e 0d 20 |R.TRANSL|ATE.ON. |
|000021e0| 62 70 6c 20 78 6d 64 33 | 32 62 20 3b 4e 4f a0 2d |bpl xmd3|2b ;NO.-|
|000021f0| a0 42 59 50 41 53 53 a0 | 43 4f 4e 56 45 52 53 49 |.BYPASS.|CONVERSI|
|00002200| 4f 4e 0d 20 6a 73 72 20 | 63 6e 76 72 74 20 3b 59 |ON. jsr |cnvrt ;Y|
|00002210| 45 53 a0 2d a0 43 4f 4e | 56 45 52 54 a0 54 4f a0 |ES.-.CON|VERT.TO.|
|00002220| 41 53 43 49 49 0d 78 6d | 64 33 32 62 20 73 74 61 |ASCII.xm|d32b sta|
|00002230| 20 72 63 76 63 68 72 20 | 3b 53 54 4f 52 45 a0 54 | rcvchr |;STORE.T|
|00002240| 48 45 a0 43 48 41 52 41 | 43 54 45 52 0d 20 6a 73 |HE.CHARA|CTER. js|
|00002250| 72 20 72 65 61 64 73 73 | 20 3b 57 41 54 43 48 a0 |r readss| ;WATCH.|
|00002260| 44 45 4d a0 44 49 53 4b | a0 45 52 52 4f 52 53 21 |DEM.DISK|.ERRORS!|
|00002270| 0d 20 61 6e 64 20 23 31 | 39 35 20 3b 4c 4f 4f 4b |. and #1|95 ;LOOK|
|00002280| a0 46 4f 52 a0 45 4e 44 | 2d 4f 46 2d 46 49 4c 45 |.FOR.END|-OF-FILE|
|00002290| 0d 20 73 74 61 20 72 73 | 74 61 74 20 3b 41 4e 44 |. sta rs|tat ;AND|
|000022a0| a0 54 49 4d 45 2d 4f 55 | 54 53 0d 20 62 6e 65 20 |.TIME-OU|TS. bne |
|000022b0| 78 6d 64 33 33 61 0d 20 | 6c 64 61 20 72 63 76 63 |xmd33a. |lda rcvc|
|000022c0| 68 72 20 3b 43 41 4c 43 | 55 4c 41 54 45 a0 43 48 |hr ;CALC|ULATE.CH|
|000022d0| 45 43 4b 53 55 4d a0 57 | 49 54 48 0d 20 6a 73 72 |ECKSUM.W|ITH. jsr|
|000022e0| 20 63 68 6b 61 64 64 20 | 3b 54 48 49 53 a0 43 48 | chkadd |;THIS.CH|
|000022f0| 41 52 41 43 54 45 52 0d | 20 63 6d 70 20 23 31 33 |ARACTER.| cmp #13|
|00002300| 31 20 3b 47 4f 54 a0 41 | a0 46 55 4c 4c a0 42 4c |1 ;GOT.A|.FULL.BL|
|00002310| 4f 43 4b a0 59 45 54 3f | 0d 20 62 6e 65 20 78 6d |OCK.YET?|. bne xm|
|00002320| 64 33 32 20 3b 4e 4f a0 | 2d a0 4c 4f 4f 50 0d 20 |d32 ;NO.|-.LOOP. |
|00002330| 62 65 71 20 78 6d 64 33 | 34 20 3b 59 45 53 a0 2d |beq xmd3|4 ;YES.-|
|00002340| a0 50 52 4f 43 45 53 53 | a0 45 4e 44 a0 4f 46 a0 |.PROCESS|.END.OF.|
|00002350| 42 4c 4f 43 4b 0d 78 6d | 64 33 33 61 20 3d 20 2a |BLOCK.xm|d33a = *|
|00002360| 0d 20 6c 64 61 20 72 63 | 76 63 68 72 20 3b 43 41 |. lda rc|vchr ;CA|
|00002370| 4c 43 55 4c 41 54 45 a0 | 43 48 45 43 4b 53 55 4d |LCULATE.|CHECKSUM|
|00002380| a0 57 49 54 48 0d 20 6a | 73 72 20 63 68 6b 61 64 |.WITH. j|sr chkad|
|00002390| 64 20 3b 54 48 49 53 a0 | 43 48 41 52 41 43 54 45 |d ;THIS.|CHARACTE|
|000023a0| 52 0d 20 63 6d 70 20 23 | 31 33 31 20 3b 49 53 a0 |R. cmp #|131 ;IS.|
|000023b0| 54 48 45 a0 42 4c 4f 43 | 4b a0 46 55 4c 4c 3f 0d |THE.BLOC|K.FULL?.|
|000023c0| 20 62 65 71 20 78 6d 64 | 33 34 20 3b 59 45 53 a0 | beq xmd|34 ;YES.|
|000023d0| 2d a0 42 59 50 41 44 44 | a0 50 41 44 44 49 4e 47 |-.BYPADD|.PADDING|
|000023e0| 0d 20 6c 64 61 20 23 32 | 36 20 3b 50 41 44 a0 54 |. lda #2|6 ;PAD.T|
|000023f0| 48 45 a0 46 49 4e 41 4c | a0 42 4c 4f 43 4b a0 57 |HE.FINAL|.BLOCK.W|
|00002400| 49 54 48 0d 20 73 74 61 | 20 70 61 64 63 68 72 20 |ITH. sta| padchr |
|00002410| 3b 43 54 52 4c 2d 5a a0 | 55 4e 4c 45 53 53 a0 54 |;CTRL-Z.|UNLESS.T|
|00002420| 48 45 a0 4c 41 53 54 0d | 20 6c 64 61 20 72 63 76 |HE.LAST.| lda rcv|
|00002430| 63 68 72 20 3b 44 41 54 | 41 a0 43 48 41 52 41 43 |chr ;DAT|A.CHARAC|
|00002440| 54 45 52 a0 48 41 50 50 | 45 4e 53 a0 54 4f 0d 20 |TER.HAPP|ENS.TO. |
|00002450| 63 6d 70 20 23 32 36 20 | 3b 42 45 a0 41 a0 43 54 |cmp #26 |;BE.A.CT|
|00002460| 52 4c 2d 5a 0d 20 62 6e | 65 20 78 6d 64 33 33 67 |RL-Z. bn|e xmd33g|
|00002470| 20 3b 49 46 a0 49 54 a0 | 49 53 a0 54 48 45 4e a0 | ;IF.IT.|IS.THEN.|
|00002480| 55 53 45 a0 4e 55 4c 4c | 0d 20 6c 64 61 20 23 30 |USE.NULL|. lda #0|
|00002490| 0d 20 73 74 61 20 70 61 | 64 63 68 72 0d 78 6d 64 |. sta pa|dchr.xmd|
|000024a0| 33 33 67 20 6c 64 61 20 | 70 61 64 63 68 72 20 3b |33g lda |padchr ;|
|000024b0| 50 41 44 a0 4f 55 54 a0 | 54 48 45 a0 42 4c 4f 43 |PAD.OUT.|THE.BLOC|
|000024c0| 4b a0 55 4e 54 49 4c 0d | 20 73 74 61 20 72 63 76 |K.UNTIL.| sta rcv|
|000024d0| 63 68 72 20 3b 57 45 a0 | 46 49 4c 4c a0 49 54 a0 |chr ;WE.|FILL.IT.|
|000024e0| 55 50 0d 78 6d 64 33 38 | 61 20 6a 73 72 20 63 68 |UP.xmd38|a jsr ch|
|000024f0| 6b 61 64 64 0d 20 63 6d | 70 20 23 31 33 31 0d 20 |kadd. cm|p #131. |
|00002500| 62 6e 65 20 78 6d 64 33 | 38 61 0d 78 6d 64 33 34 |bne xmd3|8a.xmd34|
|00002510| 20 62 69 74 20 78 6d 6f | 64 65 20 3b 43 48 45 43 | bit xmo|de ;CHEC|
|00002520| 4b 53 55 4d a0 4f 52 a0 | 43 52 43 3f 0d 20 62 70 |KSUM.OR.|CRC?. bp|
|00002530| 6c 20 78 6d 64 33 34 61 | 20 3b 43 48 45 43 4b 53 |l xmd34a| ;CHECKS|
|00002540| 55 4d 0d 20 6c 64 61 20 | 63 72 63 2b 31 20 3b 46 |UM. lda |crc+1 ;F|
|00002550| 49 4c 4c a0 49 4e a0 54 | 48 45 0d 20 73 74 61 20 |ILL.IN.T|HE. sta |
|00002560| 62 6c 63 68 20 3b 31 36 | 2d 42 49 54 a0 43 52 43 |blch ;16|-BIT.CRC|
|00002570| 0d 20 6c 64 61 20 63 72 | 63 0d 20 73 74 61 20 62 |. lda cr|c. sta b|
|00002580| 6c 63 68 2b 31 0d 20 6a | 6d 70 20 78 6d 64 33 34 |lch+1. j|mp xmd34|
|00002590| 62 0d 78 6d 64 33 34 61 | 20 6c 64 61 20 63 6b 73 |b.xmd34a| lda cks|
|000025a0| 75 6d 20 3b 46 49 4c 4c | a0 49 4e a0 54 48 45 a0 |um ;FILL|.IN.THE.|
|000025b0| 43 41 4c 43 55 4c 41 54 | 45 44 0d 20 73 74 61 20 |CALCULAT|ED. sta |
|000025c0| 62 6c 63 68 20 3b 43 48 | 45 43 4b 53 55 4d 0d 78 |blch ;CH|ECKSUM.x|
|000025d0| 6d 64 33 34 62 20 6c 64 | 61 20 23 30 0d 20 73 74 |md34b ld|a #0. st|
|000025e0| 61 20 74 65 6d 70 78 0d | 78 6d 64 33 35 20 6a 73 |a tempx.|xmd35 js|
|000025f0| 72 20 73 74 6f 70 20 3b | 43 48 45 43 4b a0 54 48 |r stop ;|CHECK.TH|
|00002600| 45 a0 4f 4c 44 a0 53 54 | 4f 50 a0 4b 45 59 0d 20 |E.OLD.ST|OP.KEY. |
|00002610| 62 65 71 20 78 6d 64 33 | 37 78 0d 20 6c 64 78 20 |beq xmd3|7x. ldx |
|00002620| 74 65 6d 70 78 20 3b 4e | 4f 57 a0 4c 45 54 a0 55 |tempx ;N|OW.LET.U|
|00002630| 53 a0 4f 55 54 50 55 54 | a0 54 48 45 0d 20 6c 64 |S.OUTPUT|.THE. ld|
|00002640| 61 20 62 6c 6f 63 6b 2c | 78 20 3b 45 4e 54 49 52 |a block,|x ;ENTIR|
|00002650| 45 a0 42 4c 4f 43 4b a0 | 54 4f a0 54 48 45 a0 4d |E.BLOCK.|TO.THE.M|
|00002660| 4f 44 45 4d 0d 20 6a 73 | 72 20 70 74 78 6d 64 6d |ODEM. js|r ptxmdm|
|00002670| 0d 20 6c 64 61 20 64 70 | 6f 72 74 62 20 3b 44 4f |. lda dp|ortb ;DO|
|00002680| 4e 54 a0 46 4f 52 47 45 | 54 a0 54 4f a0 43 48 45 |NT.FORGE|T.TO.CHE|
|00002690| 43 4b a0 46 4f 52 0d 20 | 61 6e 64 20 63 61 72 72 |CK.FOR. |and carr|
|000026a0| 69 65 72 20 3b 43 41 52 | 52 49 45 52 a0 4c 4f 53 |ier ;CAR|RIER.LOS|
|000026b0| 53 0d 20 62 65 71 20 78 | 6d 64 33 35 62 0d 20 6a |S. beq x|md35b. j|
|000026c0| 73 72 20 78 6d 64 32 38 | 0d 78 6d 64 33 35 62 20 |sr xmd28|.xmd35b |
|000026d0| 69 6e 63 20 74 65 6d 70 | 78 20 3b 44 49 44 a0 57 |inc temp|x ;DID.W|
|000026e0| 45 a0 46 49 4e 49 53 48 | a0 54 48 45 a0 42 4c 4f |E.FINISH|.THE.BLO|
|000026f0| 43 4b a0 59 45 54 3f 0d | 20 6c 64 61 20 78 62 6c |CK.YET?.| lda xbl|
|00002700| 73 7a 0d 20 63 6d 70 20 | 74 65 6d 70 78 0d 20 62 |sz. cmp |tempx. b|
|00002710| 6e 65 20 78 6d 64 33 35 | 0d 20 6a 73 72 20 73 65 |ne xmd35|. jsr se|
|00002720| 74 6a 69 66 20 3b 53 45 | 54 a0 54 48 45 a0 54 49 |tjif ;SE|T.THE.TI|
|00002730| 4d 45 4f 55 54 0d 78 6d | 64 33 36 20 6c 64 61 20 |MEOUT.xm|d36 lda |
|00002740| 64 70 6f 72 74 62 20 3b | 42 45 49 4e 47 a0 43 41 |dportb ;|BEING.CA|
|00002750| 55 54 49 4f 55 53 a0 57 | 45 a0 43 4f 4e 54 49 4e |UTIOUS.W|E.CONTIN|
|00002760| 55 45 a0 54 4f 0d 20 61 | 6e 64 20 63 61 72 72 69 |UE.TO. a|nd carri|
|00002770| 65 72 20 3b 43 48 45 43 | 4b a0 46 4f 52 a0 43 41 |er ;CHEC|K.FOR.CA|
|00002780| 52 52 49 45 52 0d 20 62 | 65 71 20 78 6d 64 33 36 |RRIER. b|eq xmd36|
|00002790| 61 0d 20 6a 73 72 20 78 | 6d 64 32 38 0d 78 6d 64 |a. jsr x|md28.xmd|
|000027a0| 33 36 61 20 6a 73 72 20 | 67 69 6d 20 3b 4c 4f 4f |36a jsr |gim ;LOO|
|000027b0| 4b a0 46 4f 52 a0 54 48 | 45 a0 52 45 43 45 49 56 |K.FOR.TH|E.RECEIV|
|000027c0| 45 52 a0 52 45 53 50 4f | 4e 53 45 0d 20 62 65 71 |ER.RESPO|NSE. beq|
|000027d0| 20 78 6d 64 33 37 0d 20 | 6a 73 72 20 73 74 6f 70 | xmd37. |jsr stop|
|000027e0| 20 3b 4e 4f a0 52 45 53 | 50 4f 4e 53 45 a0 59 45 | ;NO.RES|PONSE.YE|
|000027f0| 54 a0 2d a0 4c 4f 4f 4b | a0 46 4f 52 a0 54 48 45 |T.-.LOOK|.FOR.THE|
|00002800| 0d 20 62 65 71 20 78 6d | 64 33 37 78 20 3b 53 54 |. beq xm|d37x ;ST|
|00002810| 4f 50 a0 4b 45 59 0d 20 | 6a 73 72 20 74 73 74 6a |OP.KEY. |jsr tstj|
|00002820| 69 66 20 3b 41 4e 44 a0 | 43 48 45 43 4b a0 46 4f |if ;AND.|CHECK.FO|
|00002830| 52 a0 41 a0 54 49 4d 45 | 4f 55 54 0d 20 62 63 63 |R.A.TIME|OUT. bcc|
|00002840| 20 78 6d 64 33 36 20 3b | 4c 4f 4f 50 a0 49 46 a0 | xmd36 ;|LOOP.IF.|
|00002850| 4e 4f 54 a0 54 49 4d 45 | 44 a0 4f 55 54 a0 59 45 |NOT.TIME|D.OUT.YE|
|00002860| 54 0d 20 62 63 73 20 78 | 6d 64 33 34 20 3b 4f 54 |T. bcs x|md34 ;OT|
|00002870| 48 45 52 57 49 53 45 a0 | 52 45 54 52 41 4e 53 4d |HERWISE.|RETRANSM|
|00002880| 49 54 0d 78 6d 64 33 37 | 20 6c 64 61 20 72 63 76 |IT.xmd37| lda rcv|
|00002890| 63 68 72 0d 20 63 6d 70 | 20 23 6e 61 6b 20 3b 44 |chr. cmp| #nak ;D|
|000028a0| 49 44 a0 48 45 a0 53 45 | 4e 44 a0 41 a0 6e 61 6b |ID.HE.SE|ND.A.nak|
|000028b0| 3f 0d 20 62 6e 65 20 78 | 6d 64 33 37 65 0d 20 6c |?. bne x|md37e. l|
|000028c0| 64 61 20 23 27 4e 27 20 | 3b 55 50 44 41 54 45 a0 |da #'N' |;UPDATE.|
|000028d0| 54 48 45 a0 44 49 53 50 | 4c 41 59 a0 41 4e 44 a0 |THE.DISP|LAY.AND.|
|000028e0| 47 4f 0d 20 73 74 61 20 | 64 69 73 70 72 38 2b 31 |GO. sta |dispr8+1|
|000028f0| 38 20 3b 42 41 43 4b a0 | 54 4f a0 52 45 54 52 41 |8 ;BACK.|TO.RETRA|
|00002900| 4e 53 4d 49 54 0d 20 6a | 6d 70 20 78 6d 64 33 34 |NSMIT. j|mp xmd34|
|00002910| 0d 78 6d 64 33 37 65 20 | 63 6d 70 20 23 63 61 6e |.xmd37e |cmp #can|
|00002920| 20 3b 44 49 44 a0 48 45 | a0 53 45 4e 44 a0 43 41 | ;DID.HE|.SEND.CA|
|00002930| 4e 43 45 4c 3f 0d 20 62 | 6e 65 20 78 6d 64 33 37 |NCEL?. b|ne xmd37|
|00002940| 61 0d 78 6d 64 33 37 78 | 20 6a 73 72 20 78 6d 64 |a.xmd37x| jsr xmd|
|00002950| 31 39 20 3b 59 45 53 a0 | 2d a0 54 48 45 4e a0 41 |19 ;YES.|-.THEN.A|
|00002960| 42 4f 52 54 0d 78 6d 64 | 33 37 61 20 63 6d 70 20 |BORT.xmd|37a cmp |
|00002970| 23 61 63 6b 20 3b 44 49 | 44 a0 48 45 a0 53 45 4e |#ack ;DI|D.HE.SEN|
|00002980| 44 a0 61 63 6b 3f 0d 20 | 62 65 71 20 78 6d 64 61 |D.ack?. |beq xmda|
|00002990| 63 6b 0d 20 63 6d 70 20 | 23 36 37 0d 20 62 6e 65 |ck. cmp |#67. bne|
|000029a0| 20 78 6d 64 33 36 20 3b | 4e 4f 4e 45 a0 4f 46 a0 | xmd36 ;|NONE.OF.|
|000029b0| 54 48 45 a0 41 42 4f 56 | 45 0d 78 6d 64 61 63 6b |THE.ABOV|E.xmdack|
|000029c0| 20 6c 64 61 20 72 73 74 | 61 74 20 3b 43 48 45 43 | lda rst|at ;CHEC|
|000029d0| 4b a0 46 4f 52 a0 53 54 | 41 54 55 53 a0 4e 4f 54 |K.FOR.ST|ATUS.NOT|
|000029e0| a0 5a 45 52 4f 0d 20 62 | 65 71 20 78 6d 64 33 38 |.ZERO. b|eq xmd38|
|000029f0| 20 3b 4e 4f 0d 20 6a 73 | 72 20 78 6d 64 31 37 20 | ;NO. js|r xmd17 |
|00002a00| 3b 59 45 53 a0 2d a0 53 | 45 4e 44 a0 65 6f 74 0d |;YES.-.S|END.eot.|
|00002a10| 20 6a 73 72 20 73 65 74 | 6a 69 66 20 3b 53 45 54 | jsr set|jif ;SET|
|00002a20| a0 54 49 4d 45 4f 55 54 | 0d 78 6d 64 33 37 62 20 |.TIMEOUT|.xmd37b |
|00002a30| 6c 64 61 20 6a 69 66 66 | 79 20 3b 43 48 45 43 4b |lda jiff|y ;CHECK|
|00002a40| a0 54 48 45 a0 54 49 4d | 45 4f 55 54 a0 41 4e 44 |.THE.TIM|EOUT.AND|
|00002a50| a0 4c 4f 4f 4b 0d 20 62 | 6d 69 20 78 6d 64 33 37 |.LOOK. b|mi xmd37|
|00002a60| 63 20 3b 46 4f 52 a0 46 | 49 4e 41 4c a0 52 45 53 |c ;FOR.F|INAL.RES|
|00002a70| 50 4f 4e 53 45 a0 46 52 | 4f 4d 0d 20 6a 73 72 20 |PONSE.FR|OM. jsr |
|00002a80| 67 69 6d 20 3b 54 48 45 | a0 52 45 43 45 49 56 45 |gim ;THE|.RECEIVE|
|00002a90| 52 0d 20 62 6e 65 20 78 | 6d 64 33 37 62 0d 78 6d |R. bne x|md37b.xm|
|00002aa0| 64 33 37 63 20 6c 64 61 | 20 72 73 74 61 74 20 3b |d37c lda| rstat ;|
|00002ab0| 43 48 45 43 4b a0 46 4f | 52 a0 45 4e 44 a0 4f 46 |CHECK.FO|R.END.OF|
|00002ac0| a0 46 49 4c 45 0d 20 61 | 6e 64 20 23 36 34 0d 20 |.FILE. a|nd #64. |
|00002ad0| 62 65 71 20 78 6d 64 33 | 37 78 20 3b 4e 4f a0 2d |beq xmd3|7x ;NO.-|
|00002ae0| a0 41 42 4f 52 54 0d 20 | 6a 6d 70 20 78 6d 64 32 |.ABORT. |jmp xmd2|
|00002af0| 34 61 20 3b 59 45 53 a0 | 2d a0 44 49 53 50 4c 41 |4a ;YES.|-.DISPLA|
|00002b00| 59 a0 43 4f 4d 50 4c 45 | 54 45 0d 78 6d 64 33 38 |Y.COMPLE|TE.xmd38|
|00002b10| 20 69 6e 63 20 62 6c 6f | 20 3b 49 4e 43 52 45 4d | inc blo| ;INCREM|
|00002b20| 45 4e 54 a0 54 48 45 a0 | 42 4c 4f 43 4b a0 4e 55 |ENT.THE.|BLOCK.NU|
|00002b30| 4d 42 45 52 0d 20 6c 64 | 61 20 23 32 35 35 0d 20 |MBER. ld|a #255. |
|00002b40| 65 6f 72 20 62 6c 6f 0d | 20 73 74 61 20 62 6c 63 |eor blo.| sta blc|
|00002b50| 6b 31 0d 20 6a 73 72 20 | 78 6d 64 62 6c 6b 20 3b |k1. jsr |xmdblk ;|
|00002b60| 44 49 53 50 4c 41 59 a0 | 42 4c 4f 43 4b a0 53 54 |DISPLAY.|BLOCK.ST|
|00002b70| 41 54 55 53 0d 20 6a 6d | 70 20 78 6d 64 33 31 20 |ATUS. jm|p xmd31 |
|00002b80| 3b 42 41 43 4b a0 46 4f | 52 a0 4e 45 58 54 a0 42 |;BACK.FO|R.NEXT.B|
|00002b90| 4c 4f 43 4b 0d 2a 0d 2a | a0 72 65 63 65 69 76 65 |LOCK.*.*|.receive|
|00002ba0| a0 2d a0 73 74 61 72 74 | a0 63 72 63 a0 61 6e 64 |.-.start|.crc.and|
|00002bb0| a0 73 77 69 74 63 68 a0 | 74 6f a0 63 68 6b 73 75 |.switch.|to.chksu|
|00002bc0| 6d a0 69 66 0d 2a a0 a0 | a0 a0 a0 a0 a0 a0 a0 a0 |m.if.*..|........|
|00002bd0| a0 6e 6f a0 72 65 73 70 | 6f 6e 73 65 0d 2a 0d 78 |.no.resp|onse.*.x|
|00002be0| 6d 64 36 30 20 6c 64 61 | 20 23 36 37 20 3b 53 45 |md60 lda| #67 ;SE|
|00002bf0| 4e 44 a0 27 63 27 a0 54 | 4f a0 49 4e 44 49 43 41 |ND.'c'.T|O.INDICA|
|00002c00| 54 45 a0 63 72 63 0d 20 | 6a 73 72 20 70 74 78 6d |TE.crc. |jsr ptxm|
|00002c10| 64 6d 20 3b 43 41 50 41 | 42 49 4c 49 54 59 0d 20 |dm ;CAPA|BILITY. |
|00002c20| 6a 73 72 20 73 65 74 6a | 69 66 20 3b 53 45 54 a0 |jsr setj|if ;SET.|
|00002c30| 54 49 4d 45 52 a0 46 4f | 52 a0 52 45 54 52 59 0d |TIMER.FO|R.RETRY.|
|00002c40| 78 6d 64 36 30 61 20 6a | 73 72 20 67 69 6d 20 3b |xmd60a j|sr gim ;|
|00002c50| 4c 4f 4f 4b a0 46 4f 52 | a0 52 45 53 50 4f 4e 53 |LOOK.FOR|.RESPONS|
|00002c60| 45 0d 20 62 65 71 20 78 | 6d 64 36 30 62 20 3b 59 |E. beq x|md60b ;Y|
|00002c70| 45 53 0d 20 6c 64 61 20 | 6a 69 66 66 79 20 3b 4e |ES. lda |jiffy ;N|
|00002c80| 4f a0 2d a0 49 53 a0 54 | 49 4d 45 a0 55 50 3f 0d |O.-.IS.T|IME.UP?.|
|00002c90| 20 63 6d 70 20 23 31 0d | 20 62 6e 65 20 78 6d 64 | cmp #1.| bne xmd|
|00002ca0| 36 30 61 20 3b 4e 4f a0 | 2d a0 4b 45 45 50 a0 4c |60a ;NO.|-.KEEP.L|
|00002cb0| 4f 4f 4b 49 4e 47 0d 20 | 64 65 63 20 63 74 72 79 |OOKING. |dec ctry|
|00002cc0| 73 20 3b 59 45 53 a0 2d | a0 44 45 43 52 45 4d 45 |s ;YES.-|.DECREME|
|00002cd0| 4e 54 a0 54 52 59 53 0d | 20 62 6e 65 20 78 6d 64 |NT.TRYS.| bne xmd|
|00002ce0| 36 30 20 3b 4e 4f 54 a0 | 46 49 4e 49 53 48 45 44 |60 ;NOT.|FINISHED|
|00002cf0| a0 2d a0 54 52 59 a0 41 | 47 41 49 4e 0d 20 6a 73 |.-.TRY.A|GAIN. js|
|00002d00| 72 20 78 6d 64 31 36 20 | 3b 53 57 49 54 43 48 a0 |r xmd16 |;SWITCH.|
|00002d10| 54 4f a0 43 48 45 43 4b | 53 55 4d 0d 20 72 74 73 |TO.CHECK|SUM. rts|
|00002d20| 0d 78 6d 64 36 30 62 20 | 6c 64 61 20 72 63 76 63 |.xmd60b |lda rcvc|
|00002d30| 68 72 20 3b 47 45 54 a0 | 52 45 43 45 49 56 45 44 |hr ;GET.|RECEIVED|
|00002d40| a0 43 48 41 52 41 43 54 | 45 52 0d 20 63 6d 70 20 |.CHARACT|ER. cmp |
|00002d50| 23 73 6f 68 20 3b 49 53 | a0 49 54 a0 53 54 41 52 |#soh ;IS|.IT.STAR|
|00002d60| 54 a0 4f 46 a0 58 4d 4f | 44 45 4d a0 42 4c 4f 43 |T.OF.XMO|DEM.BLOC|
|00002d70| 4b 0d 20 62 6e 65 20 78 | 6d 64 36 30 61 20 3b 4e |K. bne x|md60a ;N|
|00002d80| 4f a0 2d a0 49 47 4e 4f | 52 45 a0 49 54 0d 20 6c |O.-.IGNO|RE.IT. l|
|00002d90| 64 61 20 23 31 33 33 20 | 3b 59 45 53 0d 20 73 74 |da #133 |;YES. st|
|00002da0| 61 20 78 6d 6f 64 65 20 | 3b 53 45 54 a0 63 72 63 |a xmode |;SET.crc|
|00002db0| a0 4d 4f 44 45 0d 20 73 | 74 61 20 78 62 6c 73 7a |.MODE. s|ta xblsz|
|00002dc0| 20 3b 41 4e 44 a0 63 72 | 63 a0 54 4f 54 41 4c a0 | ;AND.cr|c.TOTAL.|
|00002dd0| 42 4c 4f 43 4b a0 53 49 | 5a 45 0d 20 6c 64 61 20 |BLOCK.SI|ZE. lda |
|00002de0| 23 31 30 20 3b 49 4e 46 | 4f 52 4d a0 54 48 45 a0 |#10 ;INF|ORM.THE.|
|00002df0| 55 53 45 52 0d 20 6a 73 | 72 20 6f 75 74 6d 73 67 |USER. js|r outmsg|
|00002e00| 0d 20 72 74 73 0d 2a 0d | 2a a0 67 65 74 a0 78 6d |. rts.*.|*.get.xm|
|00002e10| 6f 64 65 6d a0 63 68 61 | 72 0d 2a 0d 67 69 6d 20 |odem.cha|r.*.gim |
|00002e20| 6c 64 78 20 23 35 0d 20 | 6a 73 72 20 63 68 6b 69 |ldx #5. |jsr chki|
|00002e30| 6e 0d 20 6a 73 72 20 67 | 65 74 69 6e 20 3b 54 52 |n. jsr g|etin ;TR|
|00002e40| 59 a0 46 4f 52 a0 43 48 | 41 52 41 43 54 45 52 0d |Y.FOR.CH|ARACTER.|
|00002e50| 20 73 74 61 20 72 63 76 | 63 68 72 20 3b 41 4e 44 | sta rcv|chr ;AND|
|00002e60| a0 53 41 56 45 a0 52 45 | 53 55 4c 54 0d 20 6a 73 |.SAVE.RE|SULT. js|
|00002e70| 72 20 72 65 61 64 73 73 | 20 3b 4e 4f 57 a0 43 48 |r readss| ;NOW.CH|
|00002e80| 45 43 4b a0 53 54 41 54 | 55 53 0d 20 72 74 73 0d |ECK.STAT|US. rts.|
|00002e90| 2a 0d 2a a0 74 65 73 74 | a0 6a 69 66 66 79 0d 2a |*.*.test|.jiffy.*|
|00002ea0| 0d 74 73 74 6a 69 66 20 | 6c 64 61 20 6a 69 66 66 |.tstjif |lda jiff|
|00002eb0| 79 0d 20 63 6d 70 20 23 | 32 0d 20 72 74 73 0d 2a |y. cmp #|2. rts.*|
|00002ec0| 0d 2a a0 73 65 74 a0 6a | 69 66 66 79 0d 2a 0d 73 |.*.set.j|iffy.*.s|
|00002ed0| 65 74 6a 69 66 20 6c 64 | 61 20 23 30 0d 20 73 74 |etjif ld|a #0. st|
|00002ee0| 61 20 6a 69 66 66 79 0d | 20 73 74 61 20 6a 69 66 |a jiffy.| sta jif|
|00002ef0| 66 79 2b 31 0d 20 72 74 | 73 0d 2a 0d 2a a0 70 75 |fy+1. rt|s.*.*.pu|
|00002f00| 74 a0 63 68 61 72 a0 74 | 6f a0 6d 6f 64 65 6d 0d |t.char.t|o.modem.|
|00002f10| 2a 0d 70 74 78 6d 64 6d | 20 70 68 61 0d 20 6c 64 |*.ptxmdm| pha. ld|
|00002f20| 78 20 23 35 0d 20 6a 73 | 72 20 63 68 6b 6f 75 74 |x #5. js|r chkout|
|00002f30| 0d 70 74 78 30 31 20 6c | 64 61 20 65 6e 61 62 6c |.ptx01 l|da enabl|
|00002f40| 65 20 3b 49 53 a0 52 53 | 32 33 32 a0 51 55 49 45 |e ;IS.RS|232.QUIE|
|00002f50| 53 43 45 4e 54 0d 20 61 | 6e 64 20 23 33 20 3b 49 |SCENT. a|nd #3 ;I|
|00002f60| 4e a0 42 4f 54 48 a0 44 | 49 52 45 43 54 49 4f 4e |N.BOTH.D|IRECTION|
|00002f70| 53 0d 20 62 6e 65 20 70 | 74 78 30 31 20 3b 4e 4f |S. bne p|tx01 ;NO|
|00002f80| a0 2d a0 57 41 49 54 a0 | 55 4e 54 49 4c a0 49 54 |.-.WAIT.|UNTIL.IT|
|00002f90| a0 49 53 0d 20 70 6c 61 | 20 20 3b 59 45 53 a0 2d |.IS. pla| ;YES.-|
|00002fa0| a0 47 45 54 a0 43 48 41 | 52 41 43 54 45 52 0d 20 |.GET.CHA|RACTER. |
|00002fb0| 6a 73 72 20 63 68 72 6f | 75 74 20 3b 41 4e 44 a0 |jsr chro|ut ;AND.|
|00002fc0| 53 45 4e 44 a0 49 54 a0 | 54 4f a0 4d 4f 44 45 4d |SEND.IT.|TO.MODEM|
|00002fd0| 0d 20 72 74 73 0d 2a 0d | 2a a0 63 61 6c 63 75 6c |. rts.*.|*.calcul|
|00002fe0| 61 74 65 a0 63 68 65 63 | 6b 73 75 6d 0d 2a 0d 63 |ate.chec|ksum.*.c|
|00002ff0| 68 6b 61 64 64 20 6c 64 | 61 20 72 63 76 63 68 72 |hkadd ld|a rcvchr|
|00003000| 0d 20 62 69 74 20 78 6d | 6f 64 65 0d 20 62 70 6c |. bit xm|ode. bpl|
|00003010| 20 63 68 6b 61 31 0d 20 | 6a 73 72 20 63 72 63 6d | chka1. |jsr crcm|
|00003020| 6f 64 65 0d 63 68 6b 61 | 31 20 6c 64 61 20 72 63 |ode.chka|1 lda rc|
|00003030| 76 63 68 72 0d 20 6c 64 | 78 20 63 68 72 63 6e 74 |vchr. ld|x chrcnt|
|00003040| 0d 20 73 74 61 20 62 6c | 6f 63 6b 2c 78 0d 20 63 |. sta bl|ock,x. c|
|00003050| 6c 63 0d 20 61 64 63 20 | 63 6b 73 75 6d 0d 20 73 |lc. adc |cksum. s|
|00003060| 74 61 20 63 6b 73 75 6d | 0d 20 69 6e 63 20 63 68 |ta cksum|. inc ch|
|00003070| 72 63 6e 74 0d 20 69 6e | 78 0d 20 74 78 61 0d 20 |rcnt. in|x. txa. |
|00003080| 72 74 73 0d 2a 0d 2a a0 | 63 72 63 a0 6d 6f 64 65 |rts.*.*.|crc.mode|
|00003090| 0d 2a 0d 63 72 63 6d 6f | 64 65 20 73 74 61 20 63 |.*.crcmo|de sta c|
|000030a0| 72 63 64 61 74 61 0d 20 | 6c 64 78 20 23 38 0d 20 |rcdata. |ldx #8. |
|000030b0| 6c 64 61 20 63 68 72 63 | 6e 74 0d 20 63 6d 70 20 |lda chrc|nt. cmp |
|000030c0| 23 33 0d 20 62 67 65 20 | 63 72 63 6d 31 0d 20 72 |#3. bge |crcm1. r|
|000030d0| 74 73 0d 63 72 63 6d 31 | 20 61 73 6c 20 63 72 63 |ts.crcm1| asl crc|
|000030e0| 64 61 74 61 0d 20 72 6f | 72 20 61 0d 20 61 6e 64 |data. ro|r a. and|
|000030f0| 20 23 24 38 30 0d 20 65 | 6f 72 20 63 72 63 2b 31 | #$80. e|or crc+1|
|00003100| 0d 20 61 73 6c 20 63 72 | 63 0d 20 72 6f 6c 20 61 |. asl cr|c. rol a|
|00003110| 0d 20 62 63 63 20 63 72 | 63 6d 32 0d 20 74 61 79 |. bcc cr|cm2. tay|
|00003120| 0d 20 6c 64 61 20 63 72 | 63 0d 20 65 6f 72 20 70 |. lda cr|c. eor p|
|00003130| 6c 79 0d 20 73 74 61 20 | 63 72 63 0d 20 74 79 61 |ly. sta |crc. tya|
|00003140| 0d 20 65 6f 72 20 70 6c | 79 2b 31 0d 63 72 63 6d |. eor pl|y+1.crcm|
|00003150| 32 20 73 74 61 20 63 72 | 63 2b 31 0d 20 64 65 78 |2 sta cr|c+1. dex|
|00003160| 0d 20 62 6e 65 20 63 72 | 63 6d 31 0d 20 72 74 73 |. bne cr|cm1. rts|
|00003170| 0d 2a 0d 2a a0 63 72 63 | a0 69 6e 69 74 0d 2a 0d |.*.*.crc|.init.*.|
|00003180| 63 72 63 69 6e 69 74 20 | 6c 64 61 20 23 30 0d 20 |crcinit |lda #0. |
|00003190| 73 74 61 20 63 72 63 0d | 20 73 74 61 20 63 72 63 |sta crc.| sta crc|
|000031a0| 2b 31 0d 20 72 74 73 0d | 2a 0d 2a a0 6f 75 74 6d |+1. rts.|*.*.outm|
|000031b0| 73 67 a0 70 72 6f 6d 70 | 74 a0 70 6f 69 6e 74 65 |sg.promp|t.pointe|
|000031c0| 72 a0 74 61 62 6c 65 0d | 2a 0d 70 72 6d 74 62 6c |r.table.|*.prmtbl|
|000031d0| 20 3d 20 2a 0d 20 64 61 | 20 70 72 6f 6d 70 74 34 | = *. da| prompt4|
|000031e0| 0d 20 64 61 20 70 72 6d | 70 74 31 33 0d 20 64 61 |. da prm|pt13. da|
|000031f0| 20 64 69 73 70 72 38 0d | 20 64 61 20 64 69 73 70 | dispr8.| da disp|
|00003200| 72 39 0d 20 64 61 20 64 | 69 73 70 72 31 30 0d 20 |r9. da d|ispr10. |
|00003210| 64 61 20 64 69 73 70 72 | 31 31 0d 20 64 61 20 64 |da dispr|11. da d|
|00003220| 69 73 70 72 31 33 0d 20 | 64 61 20 62 75 66 0d 20 |ispr13. |da buf. |
|00003230| 64 61 20 70 72 6d 70 74 | 31 30 0d 20 64 61 20 70 |da prmpt|10. da p|
|00003240| 72 6d 70 74 31 31 0d 2a | 0d 2a a0 70 72 6f 6d 70 |rmpt11.*|.*.promp|
|00003250| 74 73 0d 2a 0d 70 72 6f | 6d 70 74 34 20 64 66 62 |ts.*.pro|mpt4 dfb|
|00003260| 20 31 33 0d 20 74 78 74 | 20 27 66 49 4c 45 4e 41 | 13. txt| 'fILENA|
|00003270| 4d 45 a0 46 4f 52 a0 59 | 4f 55 52 a0 44 49 53 4b |ME.FOR.Y|OUR.DISK|
|00003280| 3a a0 27 0d 20 64 66 62 | 20 30 0d 70 72 6d 70 74 |:.'. dfb| 0.prmpt|
|00003290| 31 33 20 64 66 62 20 31 | 33 0d 20 74 78 74 20 27 |13 dfb 1|3. txt '|
|000032a0| 64 69 73 6b a0 65 72 72 | 6f 72 3a a0 27 0d 20 64 |disk.err|or:.'. d|
|000032b0| 66 62 20 30 0d 64 69 73 | 70 72 38 20 74 78 74 20 |fb 0.dis|pr8 txt |
|000032c0| 27 74 6f 74 a0 62 6c 6b | a0 30 30 30 30 a0 a0 63 |'tot.blk|.0000..c|
|000032d0| 68 6b 3d a0 27 0d 20 64 | 66 62 20 31 33 2c 31 34 |hk=.'. d|fb 13,14|
|000032e0| 35 2c 30 0d 64 69 73 70 | 72 39 20 74 78 74 20 27 |5,0.disp|r9 txt '|
|000032f0| 74 72 61 6e 73 66 65 72 | a0 63 6f 6d 70 6c 65 74 |transfer|.complet|
|00003300| 65 27 0d 20 64 66 62 20 | 31 33 2c 30 0d 64 69 73 |e'. dfb |13,0.dis|
|00003310| 70 72 31 30 20 74 78 74 | 20 27 74 72 61 6e 73 66 |pr10 txt| 'transf|
|00003320| 65 72 a0 61 62 6f 72 74 | 65 64 27 0d 20 64 66 62 |er.abort|ed'. dfb|
|00003330| 20 31 33 2c 30 0d 64 69 | 73 70 72 31 31 20 74 78 | 13,0.di|spr11 tx|
|00003340| 74 20 27 78 6d 6f 64 65 | 6d a0 70 72 6f 74 6f 63 |t 'xmode|m.protoc|
|00003350| 6f 6c 27 0d 20 64 66 62 | 20 31 33 2c 30 0d 64 69 |ol'. dfb| 13,0.di|
|00003360| 73 70 72 31 33 20 74 78 | 74 20 27 69 4e 56 41 4c |spr13 tx|t 'iNVAL|
|00003370| 49 44 a0 66 49 4c 45 4e | 41 4d 45 27 0d 20 64 66 |ID.fILEN|AME'. df|
|00003380| 62 20 31 33 2c 30 0d 70 | 72 6d 70 74 31 30 20 74 |b 13,0.p|rmpt10 t|
|00003390| 78 74 20 27 63 61 72 72 | 69 6f 72 a0 6c 6f 73 74 |xt 'carr|ior.lost|
|000033a0| 3a a0 63 6f 6e 66 69 72 | 6d a0 61 62 6f 72 74 a0 |:.confir|m.abort.|
|000033b0| 59 2f 4e a0 a0 27 0d 20 | 64 66 62 20 30 0d 70 72 |Y/N..'. |dfb 0.pr|
|000033c0| 6d 70 74 31 31 20 74 78 | 74 20 27 55 53 49 4e 47 |mpt11 tx|t 'USING|
|000033d0| a0 63 72 63 27 0d 20 64 | 66 62 20 31 33 2c 30 0d |.crc'. d|fb 13,0.|
|000033e0| 2a 0d 2a a0 6f 75 74 70 | 75 74 a0 6d 65 73 73 61 |*.*.outp|ut.messa|
|000033f0| 67 65 a0 74 6f a0 64 65 | 76 69 63 65 0d 2a 0d 6f |ge.to.de|vice.*.o|
|00003400| 75 74 6d 73 67 20 70 68 | 61 0d 20 6c 64 78 20 23 |utmsg ph|a. ldx #|
|00003410| 33 0d 20 6a 73 72 20 63 | 68 6b 6f 75 74 0d 20 70 |3. jsr c|hkout. p|
|00003420| 6c 61 0d 20 61 73 6c 20 | 61 0d 20 74 61 78 0d 20 |la. asl |a. tax. |
|00003430| 6c 64 61 20 70 72 6d 74 | 62 6c 2c 78 0d 20 73 74 |lda prmt|bl,x. st|
|00003440| 61 20 6d 6f 76 65 0d 20 | 69 6e 78 0d 20 6c 64 61 |a move. |inx. lda|
|00003450| 20 70 72 6d 74 62 6c 2c | 78 0d 20 73 74 61 20 6d | prmtbl,|x. sta m|
|00003460| 6f 76 65 2b 31 0d 20 6c | 64 79 20 23 30 0d 6f 75 |ove+1. l|dy #0.ou|
|00003470| 74 6c 70 31 20 6c 64 61 | 20 28 6d 6f 76 65 29 2c |tlp1 lda| (move),|
|00003480| 79 0d 20 63 6d 70 20 23 | 30 0d 20 62 65 71 20 6f |y. cmp #|0. beq o|
|00003490| 75 74 65 6e 64 0d 20 6a | 73 72 20 63 68 72 6f 75 |utend. j|sr chrou|
|000034a0| 74 0d 20 69 6e 79 0d 20 | 63 70 79 20 23 30 0d 20 |t. iny. |cpy #0. |
|000034b0| 62 6e 65 20 6f 75 74 6c | 70 31 0d 6f 75 74 65 6e |bne outl|p1.outen|
|000034c0| 64 20 72 74 73 0d 2a 0d | 2a a0 63 68 65 63 6b a0 |d rts.*.|*.check.|
|000034d0| 65 72 72 6f 72 a0 63 68 | 61 6e 6e 65 6c 0d 2a 0d |error.ch|annel.*.|
|000034e0| 65 72 72 63 68 6e 20 6c | 64 61 20 23 30 0d 20 73 |errchn l|da #0. s|
|000034f0| 74 61 20 62 75 66 0d 20 | 73 74 61 20 65 62 75 66 |ta buf. |sta ebuf|
|00003500| 78 0d 20 6c 64 78 20 23 | 31 35 0d 20 6a 73 72 20 |x. ldx #|15. jsr |
|00003510| 63 68 6b 69 6e 0d 65 72 | 72 6c 31 20 6a 73 72 20 |chkin.er|rl1 jsr |
|00003520| 67 65 74 69 6e 0d 20 73 | 74 61 20 72 63 76 63 68 |getin. s|ta rcvch|
|00003530| 72 0d 20 6a 73 72 20 72 | 65 61 64 73 73 0d 20 62 |r. jsr r|eadss. b|
|00003540| 6e 65 20 65 72 72 6c 32 | 0d 20 6c 64 61 20 72 63 |ne errl2|. lda rc|
|00003550| 76 63 68 72 0d 20 6c 64 | 78 20 65 62 75 66 78 0d |vchr. ld|x ebufx.|
|00003560| 20 73 74 61 20 62 75 66 | 2c 78 0d 20 69 6e 63 20 | sta buf|,x. inc |
|00003570| 65 62 75 66 78 0d 20 62 | 6e 65 20 65 72 72 6c 31 |ebufx. b|ne errl1|
|00003580| 0d 65 72 72 6c 32 20 6c | 64 78 20 65 62 75 66 78 |.errl2 l|dx ebufx|
|00003590| 0d 20 6c 64 61 20 23 30 | 0d 20 73 74 61 20 62 75 |. lda #0|. sta bu|
|000035a0| 66 2c 78 0d 20 6c 64 61 | 20 23 37 0d 20 6a 73 72 |f,x. lda| #7. jsr|
|000035b0| 20 6f 75 74 6d 73 67 0d | 20 6a 73 72 20 77 61 69 | outmsg.| jsr wai|
|000035c0| 74 74 77 6f 0d 20 6c 64 | 61 20 62 75 66 0d 20 6f |ttwo. ld|a buf. o|
|000035d0| 72 61 20 62 75 66 2b 31 | 0d 20 61 6e 64 20 23 31 |ra buf+1|. and #1|
|000035e0| 35 0d 20 72 74 73 0d 2a | 0d 2a a0 64 65 63 69 6d |5. rts.*|.*.decim|
|000035f0| 61 6c a0 63 6f 6e 76 65 | 72 73 69 6f 6e a0 74 61 |al.conve|rsion.ta|
|00003600| 62 6c 65 0d 2a 0d 64 65 | 63 74 61 62 20 64 66 62 |ble.*.de|ctab dfb|
|00003610| 20 31 36 2c 33 39 20 3b | a0 31 30 2c 30 30 30 0d | 16,39 ;|.10,000.|
|00003620| 20 64 66 62 20 32 34 32 | 2c 33 20 3b a0 31 2c 30 | dfb 242|,3 ;.1,0|
|00003630| 30 30 0d 20 64 66 62 20 | 31 30 30 2c 30 20 3b a0 |00. dfb |100,0 ;.|
|00003640| 31 30 30 0d 20 64 66 62 | 20 31 30 2c 30 20 3b a0 |100. dfb| 10,0 ;.|
|00003650| 31 30 0d 20 64 66 62 20 | 31 2c 30 20 3b a0 31 0d |10. dfb |1,0 ;.1.|
|00003660| 63 6f 75 6e 74 20 64 66 | 62 20 30 2c 30 0d 6e 75 |count df|b 0,0.nu|
|00003670| 6d 62 72 20 64 66 62 20 | 30 2c 30 2c 30 2c 30 2c |mbr dfb |0,0,0,0,|
|00003680| 30 2c 33 32 2c 33 32 2c | 30 0d 74 6d 70 63 6e 74 |0,32,32,|0.tmpcnt|
|00003690| 20 64 66 62 20 30 2c 30 | 0d 2a 0d 2a a0 6f 70 65 | dfb 0,0|.*.*.ope|
|000036a0| 6e a0 64 69 73 6b a0 66 | 69 6c 65 a0 61 3d 6c 6f |n.disk.f|ile.a=lo|
|000036b0| 67 69 63 61 6c a0 66 69 | 6c 65 0d 2a 0d 6f 70 65 |gical.fi|le.*.ope|
|000036c0| 6e 64 6b 20 3d 20 2a 0d | 20 74 61 79 0d 20 6c 64 |ndk = *.| tay. ld|
|000036d0| 78 20 64 72 76 64 65 76 | 0d 20 6a 73 72 20 73 65 |x drvdev|. jsr se|
|000036e0| 74 6c 66 73 0d 20 6a 73 | 72 20 6f 70 65 6e 0d 20 |tlfs. js|r open. |
|000036f0| 72 74 73 0d 2a 0d 2a a0 | 63 6f 6e 76 65 72 74 a0 |rts.*.*.|convert.|
|00003700| 74 6f a0 61 73 63 69 69 | 0d 2a 0d 63 6e 76 61 73 |to.ascii|.*.cnvas|
|00003710| 63 20 6c 64 78 20 23 34 | 0d 20 6c 64 61 20 23 34 |c ldx #4|. lda #4|
|00003720| 38 0d 63 6e 76 61 34 20 | 73 74 61 20 6e 75 6d 62 |8.cnva4 |sta numb|
|00003730| 72 2c 78 0d 20 64 65 78 | 0d 20 62 70 6c 20 63 6e |r,x. dex|. bpl cn|
|00003740| 76 61 34 0d 20 69 6e 78 | 0d 63 6e 76 61 31 20 6c |va4. inx|.cnva1 l|
|00003750| 64 61 20 63 6f 75 6e 74 | 0d 20 73 65 63 0d 20 73 |da count|. sec. s|
|00003760| 62 63 20 64 65 63 74 61 | 62 2c 78 0d 20 73 74 61 |bc decta|b,x. sta|
|00003770| 20 74 6d 70 63 6e 74 0d | 20 6c 64 61 20 63 6f 75 | tmpcnt.| lda cou|
|00003780| 6e 74 2b 31 0d 20 73 62 | 63 20 64 65 63 74 61 62 |nt+1. sb|c dectab|
|00003790| 2b 31 2c 78 0d 20 73 74 | 61 20 74 6d 70 63 6e 74 |+1,x. st|a tmpcnt|
|000037a0| 2b 31 0d 20 62 63 63 20 | 63 6e 76 61 32 0d 20 73 |+1. bcc |cnva2. s|
|000037b0| 74 78 20 74 65 6d 70 78 | 0d 20 74 78 61 0d 20 6c |tx tempx|. txa. l|
|000037c0| 73 72 20 61 0d 20 74 61 | 78 0d 20 69 6e 63 20 6e |sr a. ta|x. inc n|
|000037d0| 75 6d 62 72 2c 78 0d 20 | 6c 64 78 20 74 65 6d 70 |umbr,x. |ldx temp|
|000037e0| 78 0d 20 6c 64 61 20 74 | 6d 70 63 6e 74 0d 20 73 |x. lda t|mpcnt. s|
|000037f0| 74 61 20 63 6f 75 6e 74 | 0d 20 6c 64 61 20 74 6d |ta count|. lda tm|
|00003800| 70 63 6e 74 2b 31 0d 20 | 73 74 61 20 63 6f 75 6e |pcnt+1. |sta coun|
|00003810| 74 2b 31 0d 20 6a 6d 70 | 20 63 6e 76 61 31 0d 63 |t+1. jmp| cnva1.c|
|00003820| 6e 76 61 32 20 69 6e 78 | 0d 20 69 6e 78 0d 20 63 |nva2 inx|. inx. c|
|00003830| 70 78 20 23 31 30 0d 20 | 62 6e 65 20 63 6e 76 61 |px #10. |bne cnva|
|00003840| 31 0d 20 6c 64 78 20 23 | 34 0d 20 72 74 73 0d 2a |1. ldx #|4. rts.*|
|00003850| 0d 2a a0 64 69 73 70 6c | 61 79 a0 78 6d 6f 64 65 |.*.displ|ay.xmode|
|00003860| 6d a0 62 6c 6f 63 6b 0d | 2a 0d 78 6d 64 62 6c 6b |m.block.|*.xmdblk|
|00003870| 20 6c 64 61 20 23 27 41 | 27 0d 20 73 74 61 20 64 | lda #'A|'. sta d|
|00003880| 69 73 70 72 38 2b 31 38 | 0d 20 69 6e 63 20 74 62 |ispr8+18|. inc tb|
|00003890| 63 6f 75 6e 74 0d 20 62 | 6e 65 20 78 62 6c 6b 32 |count. b|ne xblk2|
|000038a0| 0d 20 69 6e 63 20 74 62 | 63 6f 75 6e 74 2b 31 0d |. inc tb|count+1.|
|000038b0| 78 62 6c 6b 32 20 6c 64 | 61 20 74 62 63 6f 75 6e |xblk2 ld|a tbcoun|
|000038c0| 74 0d 20 73 74 61 20 63 | 6f 75 6e 74 0d 20 6c 64 |t. sta c|ount. ld|
|000038d0| 61 20 74 62 63 6f 75 6e | 74 2b 31 0d 20 73 74 61 |a tbcoun|t+1. sta|
|000038e0| 20 63 6f 75 6e 74 2b 31 | 0d 20 6a 73 72 20 63 6e | count+1|. jsr cn|
|000038f0| 76 61 73 63 0d 20 6c 64 | 78 20 23 34 0d 78 62 6c |vasc. ld|x #4.xbl|
|00003900| 6b 31 20 6c 64 61 20 6e | 75 6d 62 72 2c 78 0d 20 |k1 lda n|umbr,x. |
|00003910| 73 74 61 20 64 69 73 70 | 72 38 2b 37 2c 78 0d 20 |sta disp|r8+7,x. |
|00003920| 64 65 78 0d 20 62 6e 65 | 20 78 62 6c 6b 31 0d 20 |dex. bne| xblk1. |
|00003930| 6c 64 61 20 23 32 0d 20 | 6a 73 72 20 6f 75 74 6d |lda #2. |jsr outm|
|00003940| 73 67 0d 20 72 74 73 0d | 2a 0d 2a a0 77 61 69 74 |sg. rts.|*.*.wait|
|00003950| a0 74 77 6f a0 73 65 63 | 6f 6e 64 73 0d 2a 0d 77 |.two.sec|onds.*.w|
|00003960| 61 69 74 74 77 6f 20 6a | 73 72 20 73 65 74 6a 69 |aittwo j|sr setji|
|00003970| 66 0d 77 61 69 74 32 20 | 62 69 74 20 6a 69 66 66 |f.wait2 |bit jiff|
|00003980| 79 2b 31 0d 20 62 70 6c | 20 77 61 69 74 32 0d 20 |y+1. bpl| wait2. |
|00003990| 72 74 73 0d 2a 0d 2a a0 | 67 65 74 a0 61 a0 6b 65 |rts.*.*.|get.a.ke|
|000039a0| 79 62 6f 61 72 64 a0 63 | 68 61 72 61 63 74 65 72 |yboard.c|haracter|
|000039b0| 0d 2a 0d 67 65 74 6b 65 | 79 20 6c 64 78 20 23 30 |.*.getke|y ldx #0|
|000039c0| 0d 20 6a 73 72 20 63 68 | 6b 69 6e 0d 20 6a 73 72 |. jsr ch|kin. jsr|
|000039d0| 20 67 65 74 69 6e 0d 20 | 62 65 71 20 67 65 74 6b | getin. |beq getk|
|000039e0| 65 79 0d 20 72 74 73 0d | 2a 0d 2a a0 69 6e 69 74 |ey. rts.|*.*.init|
|000039f0| 69 61 6c 69 7a 65 a0 62 | 6c 6f 63 6b a0 76 61 72 |ialize.b|lock.var|
|00003a00| 69 61 62 6c 65 73 0d 2a | 0d 73 65 74 7a 65 72 6f |iables.*|.setzero|
|00003a10| 20 6c 64 61 20 23 30 0d | 20 73 74 61 20 65 72 72 | lda #0.| sta err|
|00003a20| 0d 20 73 74 61 20 63 68 | 72 63 6e 74 0d 20 73 74 |. sta ch|rcnt. st|
|00003a30| 61 20 63 6b 73 75 6d 0d | 20 6a 73 72 20 63 72 63 |a cksum.| jsr crc|
|00003a40| 69 6e 69 74 20 3b 78 6d | 6f 64 65 6d a0 63 72 63 |init ;xm|odem.crc|
|00003a50| 0d 20 72 74 73 0d 2a 0d | 2a a0 6f 75 74 70 75 74 |. rts.*.|*.output|
|00003a60| a0 74 6f a0 73 63 72 65 | 65 6e 0d 2a 0d 73 63 6e |.to.scre|en.*.scn|
|00003a70| 6f 75 74 20 70 68 61 0d | 20 6c 64 78 20 23 33 0d |out pha.| ldx #3.|
|00003a80| 20 6a 73 72 20 63 68 6b | 6f 75 74 0d 20 70 6c 61 | jsr chk|out. pla|
|00003a90| 0d 20 6a 73 72 20 63 68 | 72 6f 75 74 0d 20 72 74 |. jsr ch|rout. rt|
|00003aa0| 73 0d 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |s.......|........|
|00003ab0| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003ac0| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003ad0| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003ae0| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00003af0| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
+--------+-------------------------+-------------------------+--------+--------+